Exemplo n.º 1
0
        public void TestCompositeCollectionEqualityComparer()
        {
            List <Order> orders1 = new List <Order>()
            {
                new Order()
                {
                    Id = 1, Name = "Name1"
                }, new Order {
                    Id = 2, Name = "Name2"
                }, new Order {
                    Id = 3, Name = "Name3"
                }
            };
            List <Order> orders2 = new List <Order>()
            {
                new Order()
                {
                    Id = 3, Name = "Name3"
                }, new Order {
                    Id = 4, Name = "Name4"
                }, new Order {
                    Id = 5, Name = "Name5"
                }
            };
            List <Order> orders3 = new List <Order>()
            {
                new Order()
                {
                    Id = 6, Name = "Name6"
                }, new Order {
                    Id = 7, Name = "Name7"
                }, new Order {
                    Id = 8, Name = "Name8"
                }
            };
            CompositeCollection <Order> orders = new CompositeCollection <Order>(orders1, orders2, orders3);
            Order o1 = new Order()
            {
                Id = 1, Name = "whatever"
            };

            Assert.True(orders.Contains(o1, new OrderEqualityComparer()));
            Order o2 = new Order()
            {
                Id = 1111, Name = "whatever"
            };

            Assert.False(orders.Contains(o2, new OrderEqualityComparer()));
            var list = orders.ToUnique(new OrderEqualityComparer());

            Assert.Equal(list.Count, 8);

            Assert.True(orders.Remove(o1, new OrderEqualityComparer()));
            Assert.False(orders.Remove(o2, new OrderEqualityComparer()));
        }
Exemplo n.º 2
0
        public void TestCompositeCollectionMultiparamConstructor()
        {
            List <int> list1 = Enumerable.Range(0, 10).ToList();
            List <int> list2 = Enumerable.Range(8, 10).ToList();

            CompositeCollection <int> comp = new CompositeCollection <int>(list1, list2);

            Assert.Equal(comp.Count, 20);
            comp.Add(30);
            Assert.Equal(comp.Count, 21);
            Assert.True(comp.Remove(9));
            Assert.False(comp.Contains(9));
            Assert.True(comp.Contains(8));
            comp.Clear();
            Assert.Equal(comp.Count, 0);
        }