Exemplo n.º 1
0
        [Test, Ignore("TODO")] //TODO: Later activate this. Error in test of release version
        public void SetParent_InvalidParent()
        {
            var bl = new DerivedList {
                Metadata = { DataProvider = { Data = new List <TestItemDM>() } }
            };
            var bi = new TestItemBM();

            Assert.Throws <InvalidOperationException>(delegate { bi.Parent = bl; });
        }
Exemplo n.º 2
0
        public void Remove_NoUnderlyingObject()
        {
            var        bm   = new ListBM <TestItemBM>();
            TestItemBM item = new TestItemBM();

            bm.Add(item);
            bm.Remove(item);
            Assert.AreEqual(0, bm.Count, "Count");
        }
Exemplo n.º 3
0
        public void SetParent_DerivedList()
        {
            var bl = new DerivedList {
                Metadata = { DataProvider = { Data = new List <TestItemDM>() } }
            };
            var bi = new TestItemBM();

            bl.Add(new TestItemBM());
        }
Exemplo n.º 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 } }
            };

            bl.CollectionChanged += OnViewModelCollectionChangedCallInvalid;
            bl.Add(TestItemBM.New());
            bl.CollectionChanged -= OnViewModelCollectionChangedCallInvalid;
        }
Exemplo n.º 5
0
        public void AddSameItemToMultipleLists()
        {
            var bl = new DerivedList {
                Metadata = { DataProvider = { Data = new List <TestItemDM>() } }
            };
            var bi = new TestItemBM();

            bl.Add(bi);
            var bl2 = new DerivedList {
                Metadata = { DataProvider = { Data = new List <TestItemDM>() } }
            };

            Assert.Throws <InvalidOperationException>(delegate { bl2.Add(bi); });
        }
Exemplo n.º 6
0
        public void BeginUpdateEndUpdate()
        {
            var dl = new List <TestItemDM> {
                new TestItemDM(0), new TestItemDM(1), new TestItemDM(2)
            };
            var bl = new ListBM <TestItemBM> {
                Metadata = { DataProvider = { Data = dl } }
            };

            bl.CollectionChanged += OnViewModelCollectionChangedCallInvalid;
            bl.BeginUpdate();
            Assert.Throws <InvalidOperationException>(() => bl.BeginUpdate());
            bl.Add(TestItemBM.New());
            bl.EndUpdate();
            Assert.Throws <InvalidOperationException>(() => bl.EndUpdate());
            bl.CollectionChanged -= OnViewModelCollectionChangedCallInvalid;
        }
Exemplo n.º 7
0
        public void BusinessList_Contains_Empty_DataList()
        {
            var dl = new List <TestItemDM>();
            var bl = new ListBM <TestItemBM> {
                Metadata =
                {
//TODO:				LogicProvider=new CustomListLogicProvider(OnCollectionChanged,OnCollectionChanged),
                    DataProvider = { Data = dl }
                }
            };
            var di = (TestItemDM)null;
            var bi = (TestItemBM)null;

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

            bl.CollectionChanged += OnCollectionChanged;

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

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

            bl.CopyTo(new TestItemBM[3], 0);
            bl[0] = new TestItemBM {
                Metadata = { DataProvider = { Data = new TestItemDM(0) } }
            };
            ((IList)bl)[0] = TestItemBM.New();
//			bl.Move(0,2);

            bl.CollectionChanged += OnCollectionChanged;
            bl.Dispose();
        }