Beispiel #1
0
        public void BitArrayToByteArray_Multiple()
        {
            byte[]   expected = { 0x4B, 0x58, 0x07 };
            BitArray testBits = new BitArray(StringToArrayOfBits("1101 0010 0001 1010 111"));

            byte[] actual = BitArrayExtender.ToByteArray(testBits);
            CollectionAssert.AreEqual(expected, actual);
        }
Beispiel #2
0
        public void BitArrayToByteArray_One()
        {
            byte[]   expected = { 10 };
            BitArray testBits = new BitArray(StringToArrayOfBits("0101 0000"));

            byte[] actual = BitArrayExtender.ToByteArray(testBits);
            CollectionAssert.AreEqual(expected, actual);
        }
Beispiel #3
0
        public void TryAppend_ExactSizeMatch()
        {
            BitArray outer = new BitArray(10);
            BitArray inner = new BitArray(StringToArrayOfBits("110011"));
            BitArray tmp   = BitArrayExtender.TryAppend(outer, 4, inner);

            Assert.IsNull(tmp);

            for (int i = 0, j = 4; j < outer.Length && i < inner.Length; i++, j++)
            {
                Assert.AreEqual(inner[i], outer[j]);
            }
        }
Beispiel #4
0
        public void TryAppend_NoOwerflow()
        {
            BitArray outer = new BitArray(10);
            BitArray inner = new BitArray(StringToArrayOfBits("110011"));
            BitArray tmp   = BitArrayExtender.TryAppend(outer, 0, inner);

            Assert.IsNull(tmp);

            for (int i = 0; i < inner.Length; i++)
            {
                Assert.AreEqual(inner[i], outer[i]);
            }
        }
Beispiel #5
0
        public void TryAppend_Owerflow()
        {
            BitArray outer = new BitArray(10);
            BitArray inner = new BitArray(StringToArrayOfBits("110011"));
            BitArray tmp   = BitArrayExtender.TryAppend(outer, 5, inner);

            Assert.IsNotNull(tmp);

            for (int i = 0, j = 5; j < outer.Length && i < inner.Length; i++, j++)
            {
                Assert.AreEqual(inner[i], outer[j]);
            }

            Assert.AreEqual(true, tmp[0]);
        }
Beispiel #6
0
        public void TryAppend_ExactSizeMatchAndThenOwerflow()
        {
            BitArray outer    = new BitArray(10);
            BitArray inner    = new BitArray(StringToArrayOfBits("110011"));
            int      position = 4;
            BitArray tmp      = BitArrayExtender.TryAppend(outer, position, inner);

            Assert.IsNull(tmp);

            for (int i = 0, j = position; j < outer.Length && i < inner.Length; i++, j++)
            {
                Assert.AreEqual(inner[i], outer[j]);
            }
            position += inner.Length;

            tmp = BitArrayExtender.TryAppend(outer, position, inner);
            Assert.IsNotNull(tmp);

            for (int i = 0; i < tmp.Length; i++)
            {
                Assert.AreEqual(inner[i], tmp[i]);
            }
        }