Exemplo n.º 1
0
        public void InitializeCollection()
        {
            var list2 = new LocalList <int>(1, 2);

            list2.Contains(1).Should().BeTrue();
            list2.Contains(2).Should().BeTrue();
            list2.Length.Should().Be(2);

            var list3 = new LocalList <int>(1, 2, 3);

            list3.Contains(1).Should().BeTrue();
            list3.Contains(2).Should().BeTrue();
            list3.Contains(3).Should().BeTrue();
            list3.Length.Should().Be(3);

            var list4 = new LocalList <int>(1, 2, 3, 4);

            list4.Contains(1).Should().BeTrue();
            list4.Contains(2).Should().BeTrue();
            list4.Contains(3).Should().BeTrue();
            list4.Contains(4).Should().BeTrue();
            list4.Length.Should().Be(4);

            var list5 = new LocalList <int>(1, 2, 3, 4, 5);

            list5.Contains(1).Should().BeTrue();
            list5.Contains(2).Should().BeTrue();
            list5.Contains(3).Should().BeTrue();
            list5.Contains(4).Should().BeTrue();
            list5.Contains(5).Should().BeTrue();
            list5.Length.Should().Be(5);
        }
Exemplo n.º 2
0
        public void Remove_First(int[] items)
        {
            var localList = new LocalList <int>(items);
            var item      = items[0];

            Assert.True(localList.Remove(item));
            Assert.False(localList.Contains(item));
        }
Exemplo n.º 3
0
        public void Contains <T>(T item)
        {
            var localList = new LocalList <T>();

            localList.Add(item);

            Assert.True(localList.Contains(item));
        }
Exemplo n.º 4
0
        public void Contains_WithComparer <T>(T item)
        {
            var localList = new LocalList <T>();

            localList.Add(item);

            Assert.True(localList.Contains(item, EqualityComparer <T> .Default));
        }
Exemplo n.º 5
0
        public void Mix()
        {
            var items = new LocalList <int>();

            for (var i = 0; i < 100; i++)
            {
                items.Add(i);
                Assert.True(items.Contains(i));

                if (i % 2 != 0)
                {
                    continue;
                }

                Assert.True(items.Remove(i));
                Assert.False(items.Contains(i));
            }
        }
Exemplo n.º 6
0
        public void Remove_All(int[] items)
        {
            var localList = new LocalList <int>(items);

            foreach (var item in items)
            {
                Assert.True(localList.Remove(item));
                Assert.False(localList.Contains(item));
            }
        }
Exemplo n.º 7
0
        public void Remove_At(int[] items)
        {
            var localList = new LocalList <int>(items);

            for (var i = 0; i < items.Length; i++)
            {
                var element = localList[0];
                localList.RemoveAt(0);
                Assert.False(localList.Contains(element));
            }
        }
Exemplo n.º 8
0
        public void Mix_Many(int count)
        {
            count = FixCount(count);

            var localList = new LocalList <int>();

            for (var i = 0; i < count; i++)
            {
                localList.Add(i);
                Assert.True(localList.Contains(i));

                if (i % 2 != 0)
                {
                    continue;
                }

                Assert.True(localList.Remove(i));
                Assert.False(localList.Contains(i));
            }
        }
Exemplo n.º 9
0
        public void Add_Many(int count)
        {
            count = FixCount(count);

            var localList = new LocalList <int>();
            var items     = Enumerable.Range(0, count).ToArray();

            foreach (var item in items)
            {
                localList.Add(item);
                Assert.True(localList.Contains(item));
            }

            Assert.Equal(items.Length, localList.Length);
        }
Exemplo n.º 10
0
            internal GroupEnumerator(LocalList <T> list, Func <T, TKey> keySelector, EqualityComparer <TKey> comparer)
            {
                var values     = new LocalList <Row <TKey, T> >(list.Length);
                var uniqueKeys = new LocalList <TKey>();

                for (var i = 0; i < list.Length; i++)
                {
                    var element = list.Get(i);
                    var key     = keySelector(element);

                    values.Add(new Row <TKey, T>(key, element));

                    if (!uniqueKeys.Contains(key, comparer))
                    {
                        uniqueKeys.Add(key);
                    }
                }

                _comparer   = comparer;
                _current    = default;
                _position   = 0;
                _values     = values;
                _uniqueKeys = uniqueKeys;
            }
Exemplo n.º 11
0
        public void Contains_False()
        {
            var localList = new LocalList <int>();

            Assert.False(localList.Contains(5));
        }