示例#1
0
        public void RemoveItemsOriginal()
        {
            VirtualList <int> list     = new VirtualList <int>();
            List <int>        numbers1 = new List <int> {
                0, 20, 1, 2
            };
            List <int> numbers2 = new List <int> {
                3, 4, 5
            };
            List <int> numbers3 = new List <int> {
                6, 21, 7, 8, 9
            };

            list.AddSuppliers(numbers1, numbers2, numbers3);

            list.Remove(20);
            list.Remove(21);

            Assert.False(numbers1.Contains(20));
            Assert.False(numbers3.Contains(21));
        }
示例#2
0
        public void RemoveIfDuplicate()
        {
            VirtualList <int> list     = new VirtualList <int>();
            List <int>        numbers1 = new List <int> {
                0, 7, 1, 2
            };
            List <int> numbers2 = new List <int> {
                3, 4, 5
            };
            List <int> numbers3 = new List <int> {
                6, 21, 7, 8, 9
            };

            list.AddSuppliers(numbers1, numbers2, numbers3);

            list.Remove(7);
            list.Remove(21);

            Assert.False(numbers1.Contains(7));
            Assert.True(numbers3.Contains(7));
        }
示例#3
0
        public void RemoveItems()
        {
            VirtualList <int> list     = new VirtualList <int>();
            List <int>        numbers1 = new List <int> {
                0, 20, 1, 2
            };
            List <int> numbers2 = new List <int> {
                3, 4, 5
            };
            List <int> numbers3 = new List <int> {
                6, 21, 7, 8, 9
            };

            list.AddSuppliers(numbers1, numbers2, numbers3);

            list.Remove(20);
            list.Remove(21);

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(list[i], i);
            }
        }
示例#4
0
        public void TestVirtualListSimple3()
        {
            var v = new VirtualList<int>(false, new[] { 1, 2, 3 });

            v.Add(0);

            Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 1, 2, 3, 0 }));
            Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 1, 2, 3, 0 }));
            Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3 }));
            Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3 }));
            Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2, 3 }));

            v.Remove(2);
            v.Check();

            Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 1, 3, 0 }));
            Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 1, 3, 0 }));
            Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 }));
            Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 }));
            Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2 }));
        }