예제 #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);
        }