示例#1
0
        public void CapacityExistingItemsTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedCapacity;

            byte[] expectedItems;
            int    expectedSize;

            expectedCapacity = 10;
            expectedSize     = 2;
            expectedItems    = new byte[]
            {
                1,
                2
            };

            target = new ByteCircularBuffer(3);
            target.Put(1);
            target.Put(2);

            // act
            target.Capacity = expectedCapacity;

            // assert
            target.Capacity.Should().
            Be(expectedCapacity);
            target.Size.Should().
            Be(expectedSize);
            target.ToArray().
            Should().
            Equal(expectedItems);
        }
示例#2
0
        public void PutTest()
        {
            // arrange
            ByteCircularBuffer target;
            int  expectedSize;
            int  expectedHead;
            int  expectedTail;
            byte expected;

            target = new ByteCircularBuffer(10);

            expected     = 1;
            expectedHead = 0;
            expectedSize = 1;
            expectedTail = 1;

            // act
            target.Put(expected);

            // assert
            target.Contains(expected).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
            target.Tail.Should().
            Be(expectedTail);
            target.Size.Should().
            Be(expectedSize);
        }
示例#3
0
        public void ToArrayTest()
        {
            // arrange
            ByteCircularBuffer target;

            byte[] actual;
            byte[] expected;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);
            target.Put(4);

            expected = new byte[]
            {
                1,
                2,
                3,
                4
            };

            // act
            actual = target.ToArray();

            // assert
            actual.Should().
            Equal(expected);
        }
示例#4
0
        public void ClearTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedSize;
            int expectedHead;
            int expectedTail;

            expectedHead = 0;
            expectedSize = 0;
            expectedTail = 0;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            target.Clear();

            // assert
            target.Head.Should().
            Be(expectedHead);
            target.Tail.Should().
            Be(expectedTail);
            target.Size.Should().
            Be(expectedSize);
        }
示例#5
0
        public void GetResetHeadAtCapacityTest()
        {
            // arrange
            ByteCircularBuffer target;
            byte expected;
            byte actual;
            int  expectedHead;

            target = new ByteCircularBuffer(3);

            expected     = 3;
            expectedHead = 0;

            target.Put(1);
            target.Put(2);
            target.Put(3);

            target.Get();
            target.Get();

            // act
            actual = target.Get();

            // assert
            actual.Should().
            Be(expected);
            target.Head.Should().
            Be(expectedHead);
        }
示例#6
0
        public void CopyToArrayWithStartingIndexOffsetAndCountTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedHead;

            byte[] expected;
            byte[] actual;
            int    offset;
            int    count;
            int    index;

            target = new ByteCircularBuffer(10);

            expected = new byte[]
            {
                5,
                2,
                3,
                7
            };
            actual = new byte[]
            {
                5,
                0,
                0,
                7
            };

            expectedHead = 0;
            index        = 1;
            offset       = 1;
            count        = 2;

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            target.CopyTo(index, actual, offset, count);

            // assert
            actual.Should().
            Equal(expected);
            target.Contains(1).
            Should().
            BeTrue();
            target.Contains(2).
            Should().
            BeTrue();
            target.Contains(3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
        }
示例#7
0
        public void PeekLastEmptyExceptionTest()
        {
            // arrange
            ByteCircularBuffer target;

            target = new ByteCircularBuffer(10);

            // act & assert
            Assert.That(() => target.PeekLast(), Throws.TypeOf <InvalidOperationException>());
        }
示例#8
0
        public void GetWithArrayTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedSize;
            int expectedHead;
            int expectedTail;
            int expectedElements;
            int actualElements;

            byte[] expected;
            byte[] actual;

            target = new ByteCircularBuffer(10);

            expected = new byte[]
            {
                1,
                2
            };
            expectedHead     = 2;
            expectedSize     = 1;
            expectedTail     = 3;
            expectedElements = 2;

            actual = new byte[expectedElements];

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            actualElements = target.Get(actual);

            // assert
            actualElements.Should().
            Be(expectedElements);
            actual.Should().
            Equal(expected);
            target.Contains(1).
            Should().
            BeFalse();
            target.Contains(2).
            Should().
            BeFalse();
            target.Contains(3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
            target.Tail.Should().
            Be(expectedTail);
            target.Size.Should().
            Be(expectedSize);
        }
示例#9
0
        public void CopyToArrayWithOffsetTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedHead;

            byte[] expected;
            byte[] actual;
            int    offset;

            target = new ByteCircularBuffer(10);

            expected = new byte[]
            {
                5,
                1,
                2,
                3
            };
            actual = new byte[]
            {
                5,
                0,
                0,
                0
            };

            expectedHead = 0;
            offset       = 1;

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            target.CopyTo(actual, offset);

            // assert
            actual.Should().
            Equal(expected);
            target.Contains(1).
            Should().
            BeTrue();
            target.Contains(2).
            Should().
            BeTrue();
            target.Contains(3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
        }
示例#10
0
        public void PutBufferFullExceptionTest()
        {
            // arrange
            ByteCircularBuffer target;

            target = new ByteCircularBuffer(2);

            target.Put(1);
            target.Put(2);

            // act & assert
            Assert.That(() => target.Put(3), Throws.TypeOf <InvalidOperationException>());
        }
示例#11
0
        public void IsEmptyNegativeTest()
        {
            // arrange
            ByteCircularBuffer target;
            bool actual;

            target = new ByteCircularBuffer(10);

            // act
            actual = target.IsEmpty;

            // assert
            actual.Should().
            BeTrue();
        }
示例#12
0
        public void PutArrayExceptionTest()
        {
            // arrange
            ByteCircularBuffer target;

            byte[] expected;

            expected = this.GenerateRandomData(100);

            target = new ByteCircularBuffer(expected.Length);
            target.Put(byte.MaxValue);

            // act & assert
            Assert.That(() => target.Put(expected), Throws.TypeOf <InvalidOperationException>());
        }
示例#13
0
        public void PutArrayTest()
        {
            // arrange

            byte[] expected = this.GenerateRandomData(100);

            ByteCircularBuffer target = new ByteCircularBuffer(expected.Length);

            // act
            target.Put(expected);

            // assert
            target.ToArray().
            Should().
            Equal(expected);
        }
示例#14
0
        public void CapacityExceptionTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expected;

            expected = 3;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);
            target.Put(4);

            // act & assert
            Assert.That(() => target.Capacity = expected, Throws.TypeOf <ArgumentOutOfRangeException>());
        }
示例#15
0
        public void CapacityTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expected;

            expected = 10;

            target = new ByteCircularBuffer(3);

            // act
            target.Capacity = expected;

            // assert
            target.Capacity.Should().
            Be(expected);
        }
示例#16
0
        public void IsFullNegativeTest()
        {
            // arrange
            ByteCircularBuffer target;
            bool actual;

            target = new ByteCircularBuffer(10);

            target.Put(1);

            // act
            actual = target.IsFull;

            // assert
            actual.Should().
            BeFalse();
        }
示例#17
0
        public void ContainsTest()
        {
            // arrange
            ByteCircularBuffer target;
            bool actual;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            actual = target.Contains(1);

            // assert
            actual.Should().
            BeTrue();
        }
示例#18
0
        public void CopyToTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expectedHead;

            byte[] expected;
            byte[] actual;

            target = new ByteCircularBuffer(10);

            expected = new byte[]
            {
                1,
                2,
                3
            };
            expectedHead = 0;

            actual = new byte[3];

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            target.CopyTo(actual);

            // assert
            actual.Should().
            Equal(expected);
            target.Contains(1).
            Should().
            BeTrue();
            target.Contains(2).
            Should().
            BeTrue();
            target.Contains(3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
        }
示例#19
0
        public void IsFullTest()
        {
            // arrange
            ByteCircularBuffer target;
            bool actual;

            target = new ByteCircularBuffer(3);

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            actual = target.IsFull;

            // assert
            actual.Should().
            BeTrue();
        }
示例#20
0
        public void GetTest()
        {
            // arrange
            ByteCircularBuffer target;
            int  expectedSize;
            int  expectedHead;
            int  expectedTail;
            byte expected;
            byte actual;

            target = new ByteCircularBuffer(10);

            expected     = 1;
            expectedHead = 1;
            expectedSize = 2;
            expectedTail = 3;

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act
            actual = target.Get();

            // assert
            actual.Should().
            Be(expected);
            target.Contains(1).
            Should().
            BeFalse();
            target.Contains(2).
            Should().
            BeTrue();
            target.Contains(3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
            target.Tail.Should().
            Be(expectedTail);
            target.Size.Should().
            Be(expectedSize);
        }
示例#21
0
        public void PutMultipleTest()
        {
            // arrange
            ByteCircularBuffer target;
            int  expectedSize;
            int  expectedHead;
            int  expectedTail;
            byte expected1;
            byte expected2;
            byte expected3;

            target = new ByteCircularBuffer(10);

            expected1    = 1;
            expected2    = 2;
            expected3    = 3;
            expectedHead = 0;
            expectedSize = 3;
            expectedTail = 3;

            // act
            target.Put(expected1);
            target.Put(expected2);
            target.Put(expected3);

            // assert
            target.Contains(expected1).
            Should().
            BeTrue();
            target.Contains(expected2).
            Should().
            BeTrue();
            target.Contains(expected3).
            Should().
            BeTrue();
            target.Head.Should().
            Be(expectedHead);
            target.Tail.Should().
            Be(expectedTail);
            target.Size.Should().
            Be(expectedSize);
        }
示例#22
0
        public void SizeTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expected;
            int actual;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);

            expected = 3;

            // act
            actual = target.Size;

            // assert
            actual.Should().
            Be(expected);
        }
示例#23
0
        public void PeekTest()
        {
            // arrange
            ByteCircularBuffer target;
            byte expected;
            byte actual;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);

            expected = 1;

            // act
            actual = target.Peek();

            // assert
            actual.Should().
            Be(expected);
        }
示例#24
0
        public void SkipTest()
        {
            // arrange
            ByteCircularBuffer target;
            int expected;

            target = new ByteCircularBuffer(10);
            target.Put(1);
            target.Put(2);
            target.Put(3);
            target.Put(4);

            expected = 2;

            // act
            target.Skip(2);

            // assert
            target.Head.Should().
            Be(expected);
        }
示例#25
0
        public void CopyToExceptionTest()
        {
            // arrange
            ByteCircularBuffer target;

            byte[] actual;
            int    offset;
            int    count;
            int    index;

            target = new ByteCircularBuffer(10);
            actual = new byte[target.Capacity];

            index  = 0;
            offset = 0;
            count  = 4;

            target.Put(1);
            target.Put(2);
            target.Put(3);

            // act & assert
            Assert.That(() => target.CopyTo(index, actual, offset, count), Throws.TypeOf <ArgumentOutOfRangeException>());
        }
示例#26
0
        public void EmptyBufferTest()
        {
            // arrange
            ByteCircularBuffer target;

            byte[] expected;
            byte[] actual;

            expected = this.GenerateRandomData(100);

            target = new ByteCircularBuffer(expected.Length);
            target.Put(expected);

            actual = new byte[target.Size];

            // act
            target.Get(actual);

            // assert
            actual.Should().
            Equal(expected);
            target.Size.Should().
            Be(0);
        }