00001 00002 #include <cxxtest/TestSuite.h> 00003 00004 #include <cstring> 00005 00006 #include "observertest_mock.h" 00007 00008 #include "../../src/domain/animation/animation.h" 00009 #include "../../src/domain/animation/animationmodel.h" 00010 #include "../../src/domain/domainfacade.h" 00011 #include "frontendstub.h" 00012 00013 #include <vector> 00014 00015 00016 class ObserverTest : public CxxTest::TestSuite 00017 { 00018 private: 00019 ObserverTestMock *mock; 00020 //AnimationModel *am; 00021 00022 public: 00023 00024 void setUp() 00025 { 00026 /*mock = new ObserverTestMock(); 00027 DomainFacade::getFacade()->attatch(mock); 00028 FrontendStub *fs = new FrontendStub(); 00029 DomainFacade::getFacade()->registerFrontend(fs); 00030 00031 std::vector<char*> frames; 00032 frames.push_back("test"); 00033 frames.push_back("test"); 00034 frames.push_back("test"); 00035 00036 DomainFacade::getFacade()->addFrames(frames);*/ 00037 } 00038 00039 void tearDown() 00040 { 00041 /*DomainFacade::getFacade()->detatch(mock); 00042 //Clears the facade 00043 DomainFacade::getFacade()->newProject();*/ 00044 } 00045 00046 00047 void test_attatch() 00048 { 00049 /*AnimationModel *a = new Animation(); 00050 FrontendStub *fs = new FrontendStub(); 00051 a->registerFrontend(fs); 00052 ObserverTestMock *mo = new ObserverTestMock(); 00053 a->attatch(mo); 00054 a->notifyClear(); 00055 TS_ASSERT_DIFFERS( mo->updatedStatus(), 0 ); 00056 mo->clear(); 00057 delete a;*/ 00058 } 00059 00060 00061 void test_detatch() 00062 { 00063 /*AnimationModel *a = new Animation(); 00064 FrontendStub *fs = new FrontendStub(); 00065 a->registerFrontend(fs); 00066 ObserverTestMock *mo = new ObserverTestMock(); 00067 a->attatch(mo); 00068 a->notifyClear(); 00069 TS_ASSERT_DIFFERS( mo->updatedStatus(), 0 ); 00070 mo->clear(); 00071 00072 a->detatch(mo); 00073 00074 TS_ASSERT_EQUALS( mo->updatedStatus(), 0 ); 00075 mo->clear(); 00076 delete a;*/ 00077 } 00078 00079 void test_notifyAdd() 00080 { 00081 /*std::vector<char*> frames; 00082 frames.push_back("test"); 00083 DomainFacade::getFacade()->addFrames(frames); 00084 00085 TS_ASSERT_EQUALS( mock->updatedStatus(), 4 ); 00086 TS_ASSERT_EQUALS( mock->updatedStatus_2(), 1 ); 00087 mock->clear();*/ 00088 00089 } 00090 00091 void test_notifyRemove() 00092 { 00093 /*DomainFacade::getFacade()->removeFrames(DomainFacade::getFacade()->getActiveFrameNumber(), DomainFacade::getFacade()->getActiveFrameNumber()); 00094 TS_ASSERT_EQUALS( mock->updatedStatus(), 4 ); 00095 TS_ASSERT_EQUALS( mock->updatedStatus_2(), 2 ); 00096 mock->clear();*/ 00097 } 00098 00099 void test_notifyMove() 00100 { 00101 /*DomainFacade::getFacade()->moveFrames(0, 0, 1); 00102 TS_ASSERT_EQUALS( mock->updatedStatus(), 4 ); 00103 TS_ASSERT_EQUALS( mock->updatedStatus_2(), 3 ); 00104 mock->clear();*/ 00105 } 00106 00107 00108 void test_notifyNewActiveFrame() 00109 { 00110 /*DomainFacade::getFacade()->setActiveFrame(2); 00111 TS_ASSERT_EQUALS( mock->updatedStatus(), 4 ); 00112 mock->clear();*/ 00113 } 00114 00115 void test_notifyClear() 00116 { 00117 /*DomainFacade::getFacade()->newProject(); 00118 TS_ASSERT_EQUALS( mock->updatedStatus(), 5 ); 00119 mock->clear();*/ 00120 } 00121 00122 void test_notifyPlayFrame() 00123 { 00124 /*DomainFacade::getFacade()->playFrame(0); 00125 TS_ASSERT_EQUALS( mock->updatedStatus(), 6); 00126 mock->clear();*/ 00127 } 00128 };