Beispiel #1
0
    public void NativeBitArray_AsNativeArray_ThrowsOnSizeMismatch()
    {
        var numBits = 64;

        var test0 = new NativeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory);

        Assert.Throws <InvalidOperationException>(() => { test0.AsNativeArray <SizeMismatch128>(); });
        Assert.Throws <InvalidOperationException>(() => { test0.AsNativeArray <SizeMismatch56>(); });

        test0.Dispose();
    }
Beispiel #2
0
    public void NativeBitArray_AsNativeArray_Byte()
    {
        var numBits = 64;

        var test0 = new NativeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory);
        var test1 = test0.AsNativeArray <byte>();

        Assert.AreEqual(numBits / 8, test1.Length);

        test1[0] = 0x10;
        test1[1] = 0x32;
        test1[2] = 0x54;
        test1[3] = 0x76;
        test1[4] = 0x98;
        test1[5] = 0xba;
        test1[6] = 0xdc;
        test1[7] = 0xfe;

        for (var i = 0; i < 16; ++i)
        {
            Assert.AreEqual(i, test0.GetBits(i * 4, 4));
        }

        test0.Dispose();
#if UNITY_2020_2_OR_NEWER
        test1.Dispose();
#endif
    }
Beispiel #3
0
    public void NativeBitArray_AsNativeArray_Ulong()
    {
        var numBits = 64;

        var test0 = new NativeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory);
        var test1 = test0.AsNativeArray <ulong>();

        Assert.AreEqual(numBits / 64, test1.Length);

        test1[0] = 0xfedcba9876543210;

        for (var i = 0; i < 16; ++i)
        {
            Assert.AreEqual(i, test0.GetBits(i * 4, 4));
        }

        test0.Dispose();
        test1.Dispose();
    }
Beispiel #4
0
    public void NativeBitArray_AsNativeArray_Uint()
    {
        var numBits = 64;

        var test0 = new NativeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory);
        var test1 = test0.AsNativeArray <uint>();

        Assert.AreEqual(numBits / 32, test1.Length);

        test1[0] = 0x76543210;
        test1[1] = 0xfedcba98;

        for (var i = 0; i < 16; ++i)
        {
            Assert.AreEqual(i, test0.GetBits(i * 4, 4));
        }

        test0.Dispose();
#if UNITY_2020_2_OR_NEWER
        test1.Dispose();
#endif
    }