public void Test002() { var bs = new BitList(); foreach (var _ in bs.ToByteArray()) { Assert.Fail(); } foreach (var _ in Collection.Seq(32)) { bs.Add(true); } for (var i = 0; i < 32; i++) { Assert.AreEqual(true, bs.Check(i)); } Assert.AreEqual(0b11111111_11111111_11111111_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[10] = false; Assert.AreEqual(0b11111111_11111111_11111011_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[20] = false; Assert.AreEqual(0b11111111_11101111_11111011_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[30] = false; Assert.AreEqual(0b10111111_11101111_11111011_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[31] = false; Assert.AreEqual(0b00111111_11101111_11111011_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs.Set(0, false); Assert.AreEqual(0b00111111_11101111_11111011_11111110u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[10] = true; Assert.AreEqual(0b00111111_11101111_11111111_11111110u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[20] = true; Assert.AreEqual(0b00111111_11111111_11111111_11111110u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[30] = true; Assert.AreEqual(0b01111111_11111111_11111111_11111110u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs[31] = true; Assert.AreEqual(0b11111111_11111111_11111111_11111110u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); bs.Set(0, true); Assert.AreEqual(0b11111111_11111111_11111111_11111111u, BitConverter.ToUInt32(bs.ToByteArray(), 0)); }