Esempio n. 1
0
        static void Main(string[] args)
        {
            var storer = new BinaryCodeBuilder();

            var a = new byte[] {
                0, 1, 1, 0, 0
            };
            var b = new byte[] {
                1, 1, 1, 0, 1
            };
            var c = new byte[] {
                0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1
            };

            storer.AppendBits(a);
            storer.AppendBits(b);
            storer.AppendBits(c);

            storer.Print();
        }
        public void TestBitsAdd()
        {
            var builder1 = new BinaryCodeBuilder();
            var builder2 = new BinaryCodeBuilder();

            var bytes = new byte[] { 100, 255, 24 };
            var bits  = new byte[] { 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0 };

            for (int i = 0; i < bits.Length; i++)
            {
                builder1.AppendBit(bits[i]);
            }
            builder2.AppendBits(bits);

            var storedBytes1 = builder1.ToBytes();
            var storedBytes2 = builder2.ToBytes();

            for (int i = 0; i < bytes.Length; i++)
            {
                Assert.AreEqual(bytes[i], storedBytes1[i]);
                Assert.AreEqual(bytes[i], storedBytes2[i]);
            }
        }