static void TestDocListHooks() { DocList <IDocLeaf> list = new DocList <IDocLeaf>(); list.Hook += TestDocListHook; DocObj <string> obj0 = new DocObj <string>("Hello World"); DocObj <string> obj1 = new DocObj <string>("Hello World"); list.Add(obj0); list.Remove(obj0); list.Add(obj0); list.Add(obj1); list.Clear(); list.Clear(); }
static void TestDocListCollectionChanged() { DocList <IDocLeaf> list = new DocList <IDocLeaf>(); list.CollectionChanged += TestDocListOnCollectionChanged; ((INotifyPropertyChanged)list).PropertyChanged += TestDocListOnCollectionChanged2; DocObj <string> obj0 = new DocObj <string>("Hello World"); DocObj <string> obj1 = new DocObj <string>("Hello World"); list.Add(obj0); list.Remove(obj0); list.Add(obj0); list.Add(obj1); list.Clear(); list.Clear(); }
static void TestListUndoRedo() { DocList <DocObj <int> > testDoc = new DocList <DocObj <int> >(); History.Instance.Root = testDoc; History.Instance.ExecuteInTransaction(delegate() { testDoc.Add(new DocObj <int>(1)); UnitTest.Test(testDoc.Count == 1); testDoc.Add(new DocObj <int>(2)); UnitTest.Test(testDoc.Count == 2); testDoc.Add(new DocObj <int>(3)); UnitTest.Test(testDoc.Count == 3); }, History.Instance.NextFreeTransactionId(), "Dummy"); UnitTest.Test(testDoc[0].Value == 1); UnitTest.Test(testDoc[1].Value == 2); UnitTest.Test(testDoc[2].Value == 3); History.Instance.Undo(); UnitTest.Test(testDoc.Count == 0); History.Instance.Redo(); UnitTest.Test(testDoc.Count == 3); UnitTest.Test(testDoc[0].Value == 1); UnitTest.Test(testDoc[1].Value == 2); UnitTest.Test(testDoc[2].Value == 3); testDoc.RemoveAt(0); UnitTest.Test(testDoc.Count == 2); UnitTest.Test(testDoc[0].Value == 2); UnitTest.Test(testDoc[1].Value == 3); testDoc.Clear(); UnitTest.Test(testDoc.Count == 0); }