calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.cpp
changeset 57 bb2d3e476f29
parent 45 b6db4fd4947b
child 81 ce92091cbd61
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.cpp	Mon Jul 26 13:54:38 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.cpp	Mon Aug 09 18:30:52 2010 +0530
@@ -11,16 +11,29 @@
  *
  * Contributors:
  *
- * Description: Test class for CalenDayContainerWidget
+ * Description: Test class for CalenDayContainer
  *
  */
 #include <QtTest/QtTest>
 
-#include "calendaycontainer.h"
+#include <HbEffect>
+#include <HbWidget>
+#include <HbAbstractViewItem>
+
+#include "calendayinfo.h"
+#include "calendaymodel.h"
+
+#define private public
+
+
+#include "calendaycontainertest.h"
+
+QVariantList MOCK_EVENTS_LIST; 
+QDateTime    MOCK_EVENTS_DATE;
 
 // Test variables
 QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
-Qt::Orientation gTestOrientation = Qt::Horizontal;
+Qt::Orientation gTestOrientation = Qt::Vertical;
 
 class TestCalenDayContainer : public QObject
 {
@@ -37,16 +50,28 @@
     void cleanup();
 
     void testConstructors();
+    void testSetGetDayInfo();
+    void testItemAdded();
+    void testItemRemoved();
+    void testReset();
+    void testViewResized();
+    void testOrientationChanged();
+    void testCreateDefaultPrototype();
+    void testGetTimedEventLayoutValues();
+    void testCreateTouchEventAbsorbers();
+    void testCrateAbsorberBetweenSlots();
+    
 
 private:
-    CalenDayContainer *mContainer;
+    CalenDayContainerTest *mContainer;
+    CalenDayInfo    *mInfo;
 };
 
 /*!
  Constructor
  */
 TestCalenDayContainer::TestCalenDayContainer() :
-    mContainer(NULL)
+    mContainer(NULL), mInfo(NULL)
 {
 
 }
@@ -79,7 +104,36 @@
  */
 void TestCalenDayContainer::init()
 {
-    mContainer = new CalenDayContainer();
+    mContainer = new CalenDayContainerTest();
+    mInfo = new CalenDayInfo(CalenDayInfo::EOne);
+    
+    
+    MOCK_EVENTS_DATE = QDateTime(QDate(12,07,2010),QTime(6,0));
+        
+    QDateTime dateTimeStart1(QDate(12,07,2010),QTime(7,0));
+    QDateTime dateTimeEnd1(QDate(12,07,2010),QTime(10,0));
+    QDateTime dateTimeStart2(QDate(12,07,2010),QTime(11,0));
+    QDateTime dateTimeEnd2(QDate(12,07,2010),QTime(12,0));
+    QDateTime dateTimeStart3(QDate(12,07,2010),QTime(12,45));
+    QDateTime dateTimeEnd3(QDate(12,07,2010),QTime(18,45));
+    
+    AgendaEntry entry1;
+    AgendaEntry entry2;
+    AgendaEntry entry3;
+    
+    entry1.setStartAndEndTime(dateTimeStart1,dateTimeEnd1);
+    entry2.setStartAndEndTime(dateTimeStart2,dateTimeEnd2);
+    entry3.setStartAndEndTime(dateTimeStart3,dateTimeEnd3);
+    
+    SCalenApptInfo calenInfo;
+    calenInfo.iStatus = AgendaEntry::Confirmed;
+    calenInfo.iId = TCalenInstanceId::create(entry1);
+    mInfo->InsertAlldayEvent(calenInfo);
+    mInfo->InsertAlldayEvent(calenInfo);
+    
+    MOCK_EVENTS_LIST << QVariant::fromValue(entry1);
+    MOCK_EVENTS_LIST << QVariant::fromValue(entry2);
+    MOCK_EVENTS_LIST << QVariant::fromValue(entry3);
 }
 
 /*!
@@ -91,6 +145,10 @@
         delete mContainer;
         mContainer = NULL;
     }
+    if (mInfo) {
+        delete mInfo;
+        mInfo = NULL;
+    }
 }
 
 /*!
@@ -101,15 +159,148 @@
 void TestCalenDayContainer::testConstructors()
 {
     //1)
-    CalenDayContainer *testContainer = 0;
+    CalenDayContainerTest *testContainer = 0;
     QVERIFY(!testContainer);
     
     //2)
-    testContainer = new CalenDayContainer();
+    testContainer = new CalenDayContainerTest();
     QVERIFY(testContainer);
     
     delete testContainer;
 }
 
+/*!
+   Test function to check set and get day info
+   Test after set if info day is good
+ */
+void TestCalenDayContainer::testSetGetDayInfo()
+{
+    QVERIFY(mContainer->dayInfo() ==0);
+    mContainer->setDayInfo(mInfo);
+    
+    QVERIFY(mContainer->dayInfo()!=0);
+}
+
+/*!
+   Function not implemented
+ */
+void TestCalenDayContainer::testItemAdded()
+{
+    //function dosen't do nothing. It will be updated after code changes
+}
+
+/*!
+   Function not implemented
+ */
+void TestCalenDayContainer::testItemRemoved()
+{
+    //function dosen't do nothing. It will be updated after code changes
+}
+
+/*!
+   Test reset of caontainer based on absorders
+ */
+void TestCalenDayContainer::testReset()
+{
+   QVERIFY(mContainer->mAbsorbers.count() == 0);
+   mContainer->mAbsorbers << mContainer->crateAbsorberBetweenSlots(0,1,false);
+   QVERIFY(mContainer->mAbsorbers.count() == 1);
+   mContainer->reset();
+   QVERIFY(mContainer->mAbsorbers.count() == 0);
+}
+
+/*!
+  Test is view of container is good resized.
+  1)test if size is changed
+  2)test if new size is good set
+ */
+void TestCalenDayContainer::testViewResized()
+{
+    QSizeF size = mContainer->size();
+    //set new size
+    QSizeF newSize(size.width()+100,size.height()+100);
+    mContainer->viewResized(newSize);
+    //1)
+    QVERIFY(size != mContainer->size());
+    //2)
+    QCOMPARE(mContainer->size(),newSize);
+}
+
+/*!
+   It test change of orientation based on count of absorbers
+ */
+void TestCalenDayContainer::testOrientationChanged()
+{
+   mContainer->setDayInfo(mInfo);
+   QVERIFY(mContainer->mAbsorbers.count() == 0);
+    
+   mContainer->orientationChanged(Qt::Vertical);
+   
+   QVERIFY(mContainer->mAbsorbers.count() != 0);
+}
+
+/*!
+   Test creating item prototype
+ */
+void TestCalenDayContainer::testCreateDefaultPrototype()
+{
+    HbAbstractViewItem *testItem = 0;
+    QVERIFY(!testItem);
+    
+    testItem = mContainer->createDefaultPrototype();
+    
+    QVERIFY(testItem);
+    
+    delete testItem;
+}
+
+/*!
+   Test geting timed layouts.
+ */
+void TestCalenDayContainer::testGetTimedEventLayoutValues()
+{
+    CalenDayContainer::LayoutValues layoutValues;
+    
+    QVERIFY(layoutValues.eventAreaWidth == 0);
+    QVERIFY(layoutValues.eventAreaX == 0);
+    QVERIFY(layoutValues.eventMargin == 0);
+    QVERIFY(layoutValues.maxColumns == 0);
+    QVERIFY(layoutValues.slotHeight == 0);
+    QVERIFY(layoutValues.unitInPixels == 0);
+    
+    mContainer->getTimedEventLayoutValues(layoutValues);
+    
+    QVERIFY(layoutValues.eventAreaWidth != 0);
+    QVERIFY(layoutValues.eventAreaX == 0);
+    QVERIFY(layoutValues.eventMargin != 0);
+    QVERIFY(layoutValues.maxColumns != 0);
+    QVERIFY(layoutValues.slotHeight != 0);
+    QVERIFY(layoutValues.unitInPixels != 0);
+}
+
+/*!
+   Test creating touch event absorbers.
+ */
+void TestCalenDayContainer::testCreateTouchEventAbsorbers()
+{
+    mContainer->setDayInfo(mInfo);
+    QVERIFY(mContainer->mAbsorbers.count() == 0);
+    mContainer->createTouchEventAbsorbers();
+    QVERIFY(mContainer->mAbsorbers.count() != 0);
+}
+
+/*!
+   test creating touch absorber beatween slots.
+ */
+void TestCalenDayContainer::testCrateAbsorberBetweenSlots()
+{
+    TouchEventAbsorber* testValue = 0;
+    QVERIFY(!testValue);
+    testValue = mContainer->crateAbsorberBetweenSlots(0,1,false);
+    QVERIFY(testValue);
+    delete testValue;
+}
+
+
 QTEST_MAIN(TestCalenDayContainer);
 #include "unittest_calendaycontainer.moc"