示例#1
0
        public void Test001()
        {
            var bs = new BitList();

            Assert.AreEqual(0x00, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x01, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x03, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x07, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x0f, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x1f, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x3f, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0x7f, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0xff, bs.GetByte(0));
            bs.Add(true);
            Assert.AreEqual(0xff, bs.GetByte(0));
            Assert.AreEqual(0x01, bs.GetByte(1));
            Assert.AreEqual(9, bs.Count);

            bs.Clear();
            Assert.AreEqual(0, bs.Count);

            foreach (var _ in bs)
            {
                Assert.Fail();
            }
            foreach (var _ in bs.ToBytes())
            {
                Assert.Fail();
            }
        }