calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp
changeset 81 ce92091cbd61
parent 55 2c54b51f39c4
equal deleted inserted replaced
75:7ac58b2aae6f 81:ce92091cbd61
    18 
    18 
    19 #include "calenservices.h"
    19 #include "calenservices.h"
    20 #include "calendaymodel.h"
    20 #include "calendaymodel.h"
    21 #include "calendaymodelmanager.h"
    21 #include "calendaymodelmanager.h"
    22 
    22 
       
    23 QDateTime CURRENT_DATE;
       
    24 
    23 class TestCalenDayModelManager : public QObject
    25 class TestCalenDayModelManager : public QObject
    24 {
    26 {
    25 Q_OBJECT
    27 Q_OBJECT
    26 
    28 
    27 public:
    29 public:
    35     void cleanup();
    37     void cleanup();
    36 
    38 
    37     void testGetModel();
    39     void testGetModel();
    38     void testRefreshAllModels();
    40     void testRefreshAllModels();
    39     void testRefreshSingleModel();
    41     void testRefreshSingleModel();
       
    42     void testMoveBackward();
       
    43     void testMoveForward();
       
    44     //refreshAllModels
    40     
    45     
    41     void testConstructors();
    46     void testConstructors();
    42 
    47 
    43 private:
    48 private:
    44 	MCalenServices services;
    49 	MCalenServices services;
    80 /*!
    85 /*!
    81  Called before every function
    86  Called before every function
    82  */
    87  */
    83 void TestCalenDayModelManager::init()
    88 void TestCalenDayModelManager::init()
    84 {
    89 {
       
    90     CURRENT_DATE = QDateTime(QDate(2000, 10, 10));
    85 	mManager = new CalenDayModelManager(services, false);
    91 	mManager = new CalenDayModelManager(services, false);
    86 }
    92 }
    87 
    93 
    88 /*!
    94 /*!
    89  Called after everyfunction
    95  Called after everyfunction
   119     
   125     
   120     delete testManager;
   126     delete testManager;
   121     delete testManager2;
   127     delete testManager2;
   122 }
   128 }
   123 
   129 
       
   130 /*!
       
   131    Test function for getModel.
       
   132    
       
   133    It check is model has date setted if yes, then it is created.
       
   134  */
   124 void TestCalenDayModelManager::testGetModel()
   135 void TestCalenDayModelManager::testGetModel()
   125 	{
   136 {
   126 		MCalenServices services;
   137     CalenDayModel* model = static_cast<CalenDayModel*> (&(mManager->getModel(
   127 		CalenDayModel* model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
   138         CalenDayModelManager::CurrentDay)));
   128 		QCOMPARE(model->modelDate(), services.Context().focusDateAndTime());
   139     QCOMPARE(model->modelDate(), CURRENT_DATE);
   129 	}
   140 }
   130 
   141 
       
   142 /*!
       
   143    Test function for RefreshAllModels
       
   144    1)Check that, all models are not refreshed
       
   145    2)Check that all folders are refreshed
       
   146  */
   131 void TestCalenDayModelManager::testRefreshAllModels()
   147 void TestCalenDayModelManager::testRefreshAllModels()
   132 	{
   148 {
   133 		
   149     //1)
   134 	}
   150     CalenDayModel* model1;
   135 
   151     CalenDayModel* model2;
       
   152     CalenDayModel* model3;
       
   153     
       
   154     model1 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
       
   155     model2 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
       
   156     model3 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
       
   157     QVERIFY(model1->modelRefreshed() == 0);
       
   158     QVERIFY(model2->modelRefreshed() == 0);
       
   159     QVERIFY(model3->modelRefreshed() == 0);
       
   160     
       
   161     //2)
       
   162     mManager->refreshAllModels();
       
   163     model1 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
       
   164     model2 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
       
   165     model3 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
       
   166     QVERIFY(model1->modelRefreshed() == 1);
       
   167     QVERIFY(model2->modelRefreshed() == 1);
       
   168     QVERIFY(model3->modelRefreshed() == 1);
       
   169 }
       
   170 
       
   171 /*!
       
   172   Test functuion for  RefreshSingleModel
       
   173   1) test refresh model for current day
       
   174   2) test refresh model for previous day
       
   175   3) test refresh model for next day
       
   176   4) test refresh model for no model selected
       
   177  */
   136 void TestCalenDayModelManager::testRefreshSingleModel()
   178 void TestCalenDayModelManager::testRefreshSingleModel()
   137 	{
   179 {
   138 		mManager->refreshSingleModel(CalenDayModelManager::CurrentDay);
   180     CalenDayModel* model;
   139 		QVERIFY(mManager);
   181 
   140 		mManager->refreshSingleModel(CalenDayModelManager::PreviousDay);
   182     //1)
   141 		QVERIFY(mManager);
   183     mManager->refreshSingleModel(CalenDayModelManager::CurrentDay);
   142 		mManager->refreshSingleModel(CalenDayModelManager::NextDay);
   184     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
   143 		QVERIFY(mManager);
   185     QVERIFY(model->modelRefreshed() > 0);
   144 	}
   186 
   145 
   187     //2)
       
   188     mManager->refreshSingleModel(CalenDayModelManager::PreviousDay);
       
   189     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
       
   190     QVERIFY(model->modelRefreshed() > 0);
       
   191 
       
   192     //3)
       
   193     mManager->refreshSingleModel(CalenDayModelManager::NextDay);
       
   194     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
       
   195     QVERIFY(model->modelRefreshed() > 0);
       
   196 
       
   197     //4) it is equal 1 because each model was refreshed
       
   198     mManager->refreshSingleModel(CalenDayModelManager::NumberOfDays);
       
   199     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
       
   200     QVERIFY(model->modelRefreshed() == 1);
       
   201     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
       
   202     QVERIFY(model->modelRefreshed() == 1);
       
   203     model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
       
   204     QVERIFY(model->modelRefreshed() == 1);
       
   205 }
       
   206 
       
   207 /*!
       
   208   test function for moveBackward()
       
   209   1)test if model for current date is good
       
   210   2)test if model change after bacward
       
   211   
       
   212   It test also CalenDayModelManager::viewsScrollingFinished
       
   213  */
       
   214 void TestCalenDayModelManager::testMoveBackward()
       
   215 {
       
   216     //1)
       
   217     CalenDayModel* model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
       
   218     QCOMPARE(model->modelDate(), CURRENT_DATE);
       
   219     
       
   220     //2)
       
   221     mManager->viewsScrollingFinished(ECalenScrollToPrev);
       
   222     
       
   223     model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
       
   224     QCOMPARE(model->modelDate(), CURRENT_DATE.addDays(-1));    
       
   225 }
       
   226 
       
   227 /*!
       
   228   test function for moveBackward()
       
   229   1)test if model for current date is good
       
   230   2)test if model change after forward
       
   231   
       
   232   It test also CalenDayModelManager::viewsScrollingFinished
       
   233  */
       
   234 void TestCalenDayModelManager::testMoveForward()
       
   235 {
       
   236     //1)
       
   237     CalenDayModel* model = static_cast<CalenDayModel*> (&(mManager->getModel(
       
   238         CalenDayModelManager::CurrentDay)));
       
   239     QCOMPARE(model->modelDate(), CURRENT_DATE);
       
   240 
       
   241     //2)
       
   242     mManager->viewsScrollingFinished(ECalenScrollToNext);
       
   243 
       
   244     model = static_cast<CalenDayModel*> (&(mManager->getModel(
       
   245         CalenDayModelManager::CurrentDay)));
       
   246     QCOMPARE(model->modelDate(), CURRENT_DATE.addDays(1));     
       
   247 }
   146 
   248 
   147 QTEST_MAIN(TestCalenDayModelManager);
   249 QTEST_MAIN(TestCalenDayModelManager);
   148 #include "unittest_calendaymodelmanager.moc"
   250 #include "unittest_calendaymodelmanager.moc"