public void UnsafeBitArray_Get_Set_Tiny() { var numBits = 7; var test = new UnsafeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory); Assert.False(test.IsSet(3)); test.Set(3, true); Assert.True(test.IsSet(3)); Assert.False(test.TestAll(0, numBits)); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAny(0, numBits)); Assert.AreEqual(1, test.CountBits(0, numBits)); Assert.False(test.TestAll(0, 2)); Assert.True(test.TestNone(0, 2)); Assert.False(test.TestAny(0, 2)); test.Clear(); Assert.False(test.IsSet(3)); Assert.AreEqual(0, test.CountBits(0, numBits)); test.SetBits(3, true, 4); Assert.AreEqual(4, test.CountBits(0, numBits)); test.SetBits(0, true, numBits); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAll(0, numBits)); test.SetBits(0, false, numBits); Assert.True(test.TestNone(0, numBits)); Assert.False(test.TestAll(0, numBits)); test.Dispose(); }
public void UnsafeBitArray_Get_Set() { var numBits = 256; var test = new UnsafeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory); Assert.False(test.IsSet(123)); test.Set(123, true); Assert.True(test.IsSet(123)); Assert.False(test.TestAll(0, numBits)); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAny(0, numBits)); Assert.AreEqual(1, test.CountBits(0, numBits)); Assert.False(test.TestAll(0, 122)); Assert.True(test.TestNone(0, 122)); Assert.False(test.TestAny(0, 122)); test.Clear(); Assert.False(test.IsSet(123)); Assert.AreEqual(0, test.CountBits(0, numBits)); test.SetBits(40, true, 4); Assert.AreEqual(4, test.CountBits(0, numBits)); test.SetBits(0, true, numBits); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAll(0, numBits)); test.SetBits(0, false, numBits); Assert.True(test.TestNone(0, numBits)); Assert.False(test.TestAll(0, numBits)); test.SetBits(123, true, 7); Assert.True(test.TestAll(123, 7)); test.Clear(); test.SetBits(64, true, 64); Assert.AreEqual(false, test.IsSet(63)); Assert.AreEqual(true, test.TestAll(64, 64)); Assert.AreEqual(false, test.IsSet(128)); Assert.AreEqual(64, test.CountBits(64, 64)); Assert.AreEqual(64, test.CountBits(0, numBits)); test.Clear(); test.SetBits(65, true, 62); Assert.AreEqual(false, test.IsSet(64)); Assert.AreEqual(true, test.TestAll(65, 62)); Assert.AreEqual(false, test.IsSet(127)); Assert.AreEqual(62, test.CountBits(64, 64)); Assert.AreEqual(62, test.CountBits(0, numBits)); test.Clear(); test.SetBits(66, true, 64); Assert.AreEqual(false, test.IsSet(65)); Assert.AreEqual(true, test.TestAll(66, 64)); Assert.AreEqual(false, test.IsSet(130)); Assert.AreEqual(64, test.CountBits(66, 64)); Assert.AreEqual(64, test.CountBits(0, numBits)); test.Dispose(); }
static void SetBitsTest(ref UnsafeBitArray test, int pos, ulong value, int numBits) { test.SetBits(pos, value, numBits); Assert.AreEqual(value, test.GetBits(pos, numBits)); test.Clear(); }
/// <summary> /// Clear all bits to 0. /// </summary> public void Clear() { CheckWrite(); m_BitArray.Clear(); }
public void UnsafeBitArray_Get_Set_Short() { var numBits = 31; var test = new UnsafeBitArray(numBits, Allocator.Persistent, NativeArrayOptions.ClearMemory); Assert.False(test.IsSet(13)); test.Set(13, true); Assert.True(test.IsSet(13)); Assert.False(test.TestAll(0, numBits)); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAny(0, numBits)); Assert.AreEqual(1, test.CountBits(0, numBits)); Assert.False(test.TestAll(0, 12)); Assert.True(test.TestNone(0, 12)); Assert.False(test.TestAny(0, 12)); test.Clear(); Assert.False(test.IsSet(13)); Assert.AreEqual(0, test.CountBits(0, numBits)); test.SetBits(4, true, 4); Assert.AreEqual(4, test.CountBits(0, numBits)); test.SetBits(0, true, numBits); Assert.False(test.TestNone(0, numBits)); Assert.True(test.TestAll(0, numBits)); test.SetBits(0, false, numBits); Assert.True(test.TestNone(0, numBits)); Assert.False(test.TestAll(0, numBits)); test.SetBits(13, true, 7); Assert.True(test.TestAll(13, 7)); test.Clear(); test.SetBits(4, true, 4); Assert.AreEqual(false, test.IsSet(3)); Assert.AreEqual(true, test.TestAll(4, 4)); Assert.AreEqual(false, test.IsSet(18)); Assert.AreEqual(4, test.CountBits(4, 4)); Assert.AreEqual(4, test.CountBits(0, numBits)); test.Clear(); test.SetBits(5, true, 2); Assert.AreEqual(false, test.IsSet(4)); Assert.AreEqual(true, test.TestAll(5, 2)); Assert.AreEqual(false, test.IsSet(17)); Assert.AreEqual(2, test.CountBits(4, 4)); Assert.AreEqual(2, test.CountBits(0, numBits)); test.Clear(); test.SetBits(6, true, 4); Assert.AreEqual(false, test.IsSet(5)); Assert.AreEqual(true, test.TestAll(6, 4)); Assert.AreEqual(false, test.IsSet(10)); Assert.AreEqual(4, test.CountBits(6, 4)); Assert.AreEqual(4, test.CountBits(0, numBits)); test.Dispose(); }