Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

undocontainertest.h

00001 
00002 #include <cxxtest/TestSuite.h>
00003 
00004 #include "../../src/domain/undo/undocontainer.h"
00005 #include "../../src/domain/undo/undoadd.h"
00006 
00007 #include <vector>
00008 
00009 class UndoContainerTest : public CxxTest::TestSuite 
00010 {
00011 private:
00012         std::vector<char*> names;
00013 
00014 public:
00015 
00016         void test_undo()
00017         {
00018                 UndoContainer *undoFac = new UndoContainer();
00019                 
00020                 
00021                 Undo *au1 = new UndoAdd(1, names);
00022                 Undo *au2 = new UndoAdd(1, names);
00023                 Undo *au3 = new UndoAdd(1, names);
00024                 
00025                 undoFac->addUndo(au1);
00026                 undoFac->addUndo(au2);
00027                 
00028                 
00029                 TS_ASSERT_EQUALS( undoFac->getUndo(), au2 );
00030                 TS_ASSERT_EQUALS( undoFac->getUndo(), au1 );
00031                 
00032                 undoFac->addUndo(au3);
00033                 TS_ASSERT_EQUALS( undoFac->getUndo(), au3 );
00034                 
00035                 delete undoFac;
00036         }
00037         
00038         
00039         void test_redo()
00040         {
00041                 UndoContainer *undoFac = new UndoContainer();
00042                 
00043                 
00044                 Undo *au1 = new UndoAdd(1, names);
00045                 Undo *au2 = new UndoAdd(1, names);
00046                 Undo *au3 = new UndoAdd(1, names);
00047                 
00048                 undoFac->addUndo(au1);
00049                 undoFac->addUndo(au2);
00050                 
00051                 undoFac->getUndo();
00052                 
00053                 TS_ASSERT_EQUALS( undoFac->getRedo(), au2 );
00054                 
00055                 undoFac->getUndo();
00056                 
00057                 undoFac->addUndo(au2);
00058                 undoFac->addUndo(au3);
00059                 
00060                 undoFac->getUndo();
00061                 undoFac->getUndo();
00062                 
00063                 TS_ASSERT_EQUALS( undoFac->getRedo(), au2 );
00064                 TS_ASSERT_EQUALS( undoFac->getRedo(), au3 );
00065                 
00066         }
00067 }; 

Generated on Thu May 19 01:51:21 2005 for stopmotion.kdevelop by  doxygen 1.4.2