calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp
changeset 81 ce92091cbd61
parent 55 2c54b51f39c4
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp	Mon Sep 20 12:44:39 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp	Tue Oct 05 13:57:00 2010 +0530
@@ -20,6 +20,8 @@
 #include "calendaymodel.h"
 #include "calendaymodelmanager.h"
 
+QDateTime CURRENT_DATE;
+
 class TestCalenDayModelManager : public QObject
 {
 Q_OBJECT
@@ -37,6 +39,9 @@
     void testGetModel();
     void testRefreshAllModels();
     void testRefreshSingleModel();
+    void testMoveBackward();
+    void testMoveForward();
+    //refreshAllModels
     
     void testConstructors();
 
@@ -82,6 +87,7 @@
  */
 void TestCalenDayModelManager::init()
 {
+    CURRENT_DATE = QDateTime(QDate(2000, 10, 10));
 	mManager = new CalenDayModelManager(services, false);
 }
 
@@ -121,28 +127,124 @@
     delete testManager2;
 }
 
+/*!
+   Test function for getModel.
+   
+   It check is model has date setted if yes, then it is created.
+ */
 void TestCalenDayModelManager::testGetModel()
-	{
-		MCalenServices services;
-		CalenDayModel* model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
-		QCOMPARE(model->modelDate(), services.Context().focusDateAndTime());
-	}
+{
+    CalenDayModel* model = static_cast<CalenDayModel*> (&(mManager->getModel(
+        CalenDayModelManager::CurrentDay)));
+    QCOMPARE(model->modelDate(), CURRENT_DATE);
+}
 
+/*!
+   Test function for RefreshAllModels
+   1)Check that, all models are not refreshed
+   2)Check that all folders are refreshed
+ */
 void TestCalenDayModelManager::testRefreshAllModels()
-	{
-		
-	}
+{
+    //1)
+    CalenDayModel* model1;
+    CalenDayModel* model2;
+    CalenDayModel* model3;
+    
+    model1 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
+    model2 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    model3 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
+    QVERIFY(model1->modelRefreshed() == 0);
+    QVERIFY(model2->modelRefreshed() == 0);
+    QVERIFY(model3->modelRefreshed() == 0);
+    
+    //2)
+    mManager->refreshAllModels();
+    model1 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
+    model2 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    model3 = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
+    QVERIFY(model1->modelRefreshed() == 1);
+    QVERIFY(model2->modelRefreshed() == 1);
+    QVERIFY(model3->modelRefreshed() == 1);
+}
 
+/*!
+  Test functuion for  RefreshSingleModel
+  1) test refresh model for current day
+  2) test refresh model for previous day
+  3) test refresh model for next day
+  4) test refresh model for no model selected
+ */
 void TestCalenDayModelManager::testRefreshSingleModel()
-	{
-		mManager->refreshSingleModel(CalenDayModelManager::CurrentDay);
-		QVERIFY(mManager);
-		mManager->refreshSingleModel(CalenDayModelManager::PreviousDay);
-		QVERIFY(mManager);
-		mManager->refreshSingleModel(CalenDayModelManager::NextDay);
-		QVERIFY(mManager);
-	}
+{
+    CalenDayModel* model;
+
+    //1)
+    mManager->refreshSingleModel(CalenDayModelManager::CurrentDay);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    QVERIFY(model->modelRefreshed() > 0);
+
+    //2)
+    mManager->refreshSingleModel(CalenDayModelManager::PreviousDay);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
+    QVERIFY(model->modelRefreshed() > 0);
+
+    //3)
+    mManager->refreshSingleModel(CalenDayModelManager::NextDay);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
+    QVERIFY(model->modelRefreshed() > 0);
+
+    //4) it is equal 1 because each model was refreshed
+    mManager->refreshSingleModel(CalenDayModelManager::NumberOfDays);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    QVERIFY(model->modelRefreshed() == 1);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::PreviousDay)));
+    QVERIFY(model->modelRefreshed() == 1);
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(CalenDayModelManager::NextDay)));
+    QVERIFY(model->modelRefreshed() == 1);
+}
 
+/*!
+  test function for moveBackward()
+  1)test if model for current date is good
+  2)test if model change after bacward
+  
+  It test also CalenDayModelManager::viewsScrollingFinished
+ */
+void TestCalenDayModelManager::testMoveBackward()
+{
+    //1)
+    CalenDayModel* model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    QCOMPARE(model->modelDate(), CURRENT_DATE);
+    
+    //2)
+    mManager->viewsScrollingFinished(ECalenScrollToPrev);
+    
+    model = static_cast<CalenDayModel*>(&(mManager->getModel(CalenDayModelManager::CurrentDay)));
+    QCOMPARE(model->modelDate(), CURRENT_DATE.addDays(-1));    
+}
+
+/*!
+  test function for moveBackward()
+  1)test if model for current date is good
+  2)test if model change after forward
+  
+  It test also CalenDayModelManager::viewsScrollingFinished
+ */
+void TestCalenDayModelManager::testMoveForward()
+{
+    //1)
+    CalenDayModel* model = static_cast<CalenDayModel*> (&(mManager->getModel(
+        CalenDayModelManager::CurrentDay)));
+    QCOMPARE(model->modelDate(), CURRENT_DATE);
+
+    //2)
+    mManager->viewsScrollingFinished(ECalenScrollToNext);
+
+    model = static_cast<CalenDayModel*> (&(mManager->getModel(
+        CalenDayModelManager::CurrentDay)));
+    QCOMPARE(model->modelDate(), CURRENT_DATE.addDays(1));     
+}
 
 QTEST_MAIN(TestCalenDayModelManager);
 #include "unittest_calendaymodelmanager.moc"