Ejemplo n.º 1
0
        public void Clear_ClearRingBufferWithSomeNumbersShouldWork()
        {
            // Arrange
            RingBufferArray <int> sut = new RingBufferArray <int>(10);
            int expected = 0;

            // Act
            sut.Add(int.MaxValue);
            sut.Add(int.MinValue);
            sut.Add(42);
            sut.Clear();
            int actual = sut.Size();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 2
0
        public void Get_GetAllNumbersFromRingBufferShouldWork()
        {
            // Arrange
            RingBufferArray <int> sut = new RingBufferArray <int>(10);
            int expected = 0;

            // Act
            for (int i = 0; i < 20; i++)
            {
                sut.Add(i);
            }
            for (int i = 0; i <= 10; i++)
            {
                sut.Get();
            }
            int actual = sut.Size();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 3
0
        public void Enumerable_EnumShouldWork()
        {
            // Arrange
            RingBufferArray <int> sut = new RingBufferArray <int>(5);

            int[] arr = new int[3];

            // Act
            sut.Add(1);
            sut.Add(2);
            sut.Add(3);

            int i = 0;

            foreach (var item in sut)
            {
                arr[i] = item;
                i++;
            }

            // Assert

            Assert.Equal(new int[] { 1, 2, 3 }, arr);
        }
Ejemplo n.º 4
0
        public void Indexer_IndexerGetAndSetShouldWork()
        {
            // Arrange
            RingBufferArray <double> sut = new RingBufferArray <double>(10);
            double expected = 42.2;

            // Act
            for (int i = 0; i < 10; i++)
            {
                sut.Add(i);
            }
            for (int i = 0; i < 5; i++)
            {
                sut.Get();
            }
            sut.Add(2);
            sut.Add(5);
            sut.Add(11);
            sut[7] = 42.2;
            double actual = sut[7];

            // Assert
            Assert.Equal(expected, actual);
        }
 public BoundedBufferWithSemaphor(int size)
 {
     buf   = new RingBufferArray(size);
     empty = new Semaphore(size, size);
     full  = new Semaphore(0, size);
 }