예제 #1
0
        public void AsSpan_when_not_items_Added_returns_empty_span()
        {
            using var listPool = new ValueListPool <int>(10);

            Span <int> sut = listPool.AsSpan();

            Assert.Equal(0, sut.Length);
        }
예제 #2
0
        public void AsSpan_returns_span_for_added_items()
        {
            int[] expectedValues = s_fixture.Create <int[]>();
            using var listPool = new ValueListPool <int>(expectedValues, ValueListPool <int> .SourceType.Copy);

            Span <int> sut = listPool.AsSpan();

            Assert.Equal(expectedValues.Length, sut.Length);
            foreach (int expectedValue in expectedValues)
            {
                Assert.True(sut.Contains(expectedValue));
            }
        }
예제 #3
0
        public int ValueListPool_AsSpan()
        {
            int count = 0;

            using ValueListPool <int> list = new ValueListPool <int>(0);

            for (int i = 0; i < N; i++)
            {
                list.Add(i);
            }

            foreach (int item in list.AsSpan())
            {
                count += item;
            }

            return(count);
        }
예제 #4
0
        public void AsSpan_returns_span_for_added_items()
        {
            int[] expectedValues = s_fixture.Create <int[]>();
            using var listPool = new ValueListPool <int>(expectedValues, ValueListPool <int> .SourceType.Copy);

            Span <int> sut = listPool.AsSpan();

            Assert.Equal(expectedValues.Length, sut.Length);
            foreach (int expectedValue in expectedValues)
            {
                bool containsValue = false;
                foreach (int actualValue in sut)
                {
                    if (actualValue == expectedValue)
                    {
                        containsValue = true;
                        break;
                    }
                }
                Assert.True(containsValue);
            }
        }