Exemple #1
0
        public void Test1()
        {
            var dl = new List <TestItemDM>(new [] { new TestItemDM(0) });
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };
            var vl = new ListVM <TestItemVM> {
                Metadata = { DataProvider = { Data = bl } }
            };

            dl = new List <TestItemDM>(new [] { new TestItemDM(1) });
            bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };

            TestItemVM oldFirst = vl.FirstOrDefault();
            TestItemVM newfirst = null;

            vl.CollectionChanged += delegate { newfirst = vl.FirstOrDefault(); };

            vl.Metadata.DataProvider.Data = bl;

            var oldFirstTypeInstanceId = oldFirst.TypeInstanceId();
            var newFirstTypeInstanceId = newfirst.TypeInstanceId();

            Assert.AreEqual(newFirstTypeInstanceId, oldFirstTypeInstanceId + 1);
        }
Exemple #2
0
        public void IListT()
        {
            var dl = new List <TestItemDM>();
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };
            var vl = (IList <TestItemVM>) new ListVM <TestItemVM> {
                Metadata = { DataProvider = { Data = bl } }
            };
            var di = (TestItemDM)null;
            var vi = (TestItemVM)null;

            vl.Add(vi = new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= di = new TestItemDM(0) } }
                                                               } } }
            });
            Assert.AreEqual(1, bl.Count);
            Assert.AreEqual(1, dl.Count);
            Assert.AreEqual(0, vl.IndexOf(vi));
            vl.Add(new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(1) } }
                                                               } } }
            });
            Assert.AreEqual(2, dl.Count);
            vl.Add(new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(2) } }
                                                               } } }
            });
            Assert.AreEqual(3, dl.Count);
            vl.RemoveAt(1);
            Assert.AreEqual(2, dl.Count);
            vl.Remove(vi);
            Assert.AreEqual(1, dl.Count);
            vl.Clear();
            Assert.AreEqual(0, dl.Count);
            vl.Insert(0, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(0) } }
                                                               } } }
            });
            vl.Insert(0, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(1) } }
                                                               } } }
            });
            vl.Insert(2, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(2) } }
                                                               } } }
            });
            Assert.AreEqual(3, dl.Count);
        }
Exemple #3
0
        public void RemoveNonContainedItem()
        {
            var dl = new List <TestItemDM>();
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };
            var vl = (IList <TestItemVM>) new ListVM <TestItemVM> {
                Metadata = { DataProvider = { Data = bl } }
            };

            Assert.AreEqual(false, vl.Remove(TestItemVM.New()));
        }
Exemple #4
0
        public void CheckReentrancyThrowsInvalidOperationException()
        {
            var dl = new List <TestItemDM> {
                new TestItemDM(0), new TestItemDM(1), new TestItemDM(2)
            };
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };
            var vl = new ListVM <TestItemVM> {
                Metadata = { DataProvider = { Data = bl } }
            };

            vl.CollectionChanged += OnViewModelCollectionChangedCallInvalid;
            vl.Add(TestItemVM.New());
            vl.CollectionChanged -= OnViewModelCollectionChangedCallInvalid;
        }
Exemple #5
0
        public void ListVM_Contains_Empty_BusinessList()
        {
            var dl = new List <TestItemDM>();
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };
            var vl = new ListVM <TestItemVM> {
                Metadata = { DataProvider = { Data = bl } }
            };
            var di = (TestItemDM)null;
            var vi = (TestItemVM)null;

            Assert.AreEqual(false, vl.IsReadOnly);
            Assert.AreEqual(false, ((IList)vl).IsFixedSize);

            vl.Add(vi = new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= di = new TestItemDM(0) } }
                                                               } } }
            });
            Assert.AreEqual(1, bl.Count);
            Assert.AreEqual(1, dl.Count);
            Assert.AreEqual(0, vl.IndexOf(vi));
            Assert.AreEqual(0, ((IList)vl).IndexOf(vi));
            Assert.AreEqual(true, ((IList)vl).Contains(vi));
            Assert.AreEqual(vi, vl[0]);
            Assert.AreEqual(vi, ((IList)vl)[0]);
            vl.Add(new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(1) } }
                                                               } } }
            });
            Assert.AreEqual(2, dl.Count);
            vl.Add(new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(2) } }
                                                               } } }
            });
            Assert.AreEqual(3, dl.Count);
            vl.RemoveAt(1);
            Assert.AreEqual(2, dl.Count);
            vl.Remove(vi);
            Assert.AreEqual(1, dl.Count);
            vl.Clear();
            Assert.AreEqual(0, dl.Count);
            vl.Insert(0, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(0) } }
                                                               } } }
            });
            vl.Insert(0, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(1) } }
                                                               } } }
            });
            vl.Insert(2, new TestItemVM {
                Metadata = { DataProvider                  = { Data         = new TestItemBM {
                                                                   Metadata                  =                { DataProvider=                { Data= new TestItemDM(2) } }
                                                               } } }
            });
            Assert.AreEqual(3, dl.Count);

            foreach (var item in vl)
            {
                Assert.IsTrue(vl.Contains(item));
            }
            foreach (var item in (IEnumerable)vl)
            {
                Assert.IsTrue(vl.Contains(item));
            }

            vl.CopyTo(new TestItemVM[3], 0);
            vl[0]          = TestItemVM.New();
            ((IList)vl)[0] = TestItemVM.New();
            vl.Move(0, 2);
            vl.Dispose();
        }