Esempio n. 1
0
        public void TestRemoveSourceCollection()
        {
            var coll1 = Enumerable.Range(0, 5).ToList();
            var coll2 = Enumerable.Range(5, 5).ToList();
            var coll3 = Enumerable.Range(10, 5).ToList();

            var union = new ObservableCollection <IEnumerable <int> > {
                coll1, coll2, coll3
            };
            var collection = new ReadOnlyObservableList <IEnumerable <int> >(union).ListSelectMany(coll => coll);
            var copy       = collection.ListSelect(i => i);

            Assert.AreEqual(15, collection.Count);
            Assert.IsTrue(Enumerable.Range(0, 15).SequenceEqual(collection));
            Assert.AreEqual(15, copy.Count);
            Assert.IsTrue(collection.SequenceEqual(copy));

            union.RemoveAt(1);

            Assert.AreEqual(10, collection.Count);
            Assert.IsTrue(Enumerable.Range(0, 5).Concat(Enumerable.Range(10, 5)).SequenceEqual(collection));
            Assert.AreEqual(10, copy.Count);
            Assert.IsTrue(collection.SequenceEqual(copy));
        }