Example #1
0
        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();
        }
Example #2
0
        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();
        }
Example #3
0
        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);
        }