homescreenapp/hsdomainmodel/tsrc/t_hsdomainmodel/src/t_hswidgetpositioningonwidgetadd.cpp
changeset 95 32e56106abf2
parent 90 3ac3aaebaee5
equal deleted inserted replaced
90:3ac3aaebaee5 95:32e56106abf2
    83     QFETCH(QList<QRectF>, expectedWidgets);
    83     QFETCH(QList<QRectF>, expectedWidgets);
    84 
    84 
    85     HsWidgetPositioningOnWidgetAdd *converter =
    85     HsWidgetPositioningOnWidgetAdd *converter =
    86         new HsAnchorPointInBottomRight;
    86         new HsAnchorPointInBottomRight;
    87 
    87 
    88     QList<QRectF> convertedWidgets =
    88     HsWidgetPositioningOnWidgetAdd::Result result;
    89         converter->convert(contentArea, QList<QRectF>(),
    89     result = converter->convert(contentArea, QList<QRectF>(),
    90                            widgets, QPointF());
    90                                 widgets, QPointF());
    91 
    91 
    92     QCOMPARE(convertedWidgets.count(),
    92     QCOMPARE(result.calculatedRects.count(),
    93              expectedWidgets.count());
    93              expectedWidgets.count());
    94 
    94 
    95     for (int i = 0; i < expectedWidgets.count(); ++i) {
    95     for (int i = 0; i < expectedWidgets.count(); ++i) {
    96         QVERIFY(hsRectCompare(convertedWidgets.at(i),expectedWidgets.at(i)));
    96         QVERIFY(hsRectCompare(result.calculatedRects.at(i),expectedWidgets.at(i)));
    97     }
    97     }
    98 
    98 
    99     delete converter;
    99     delete converter;
   100 }
   100 }
   101 
   101 
   111     QTest::newRow("case1.1")
   111     QTest::newRow("case1.1")
   112         << QRectF() << QList<QRectF>() << QList<QRectF>() << QList<QRectF>();
   112         << QRectF() << QList<QRectF>() << QList<QRectF>() << QList<QRectF>();
   113 
   113 
   114     // invalid parameters
   114     // invalid parameters
   115     QTest::newRow("case1.2")
   115     QTest::newRow("case1.2")
   116         << QRectF(0, 0, 100, 100) << QList<QRectF>()
       
   117         << (QList<QRectF>() << QRectF(0, 0, 10, 10) << QRectF(0, 0, 10, 10) << QRectF(0, 0, 10, 10))
       
   118         << (QList<QRectF>() << QRectF(0, 0, 10, 10) << QRectF(15, 0, 10, 10) << QRectF(30, 0, 10, 10));
       
   119 
       
   120     // basic set of similar size rects to simple content area's first row
       
   121     QTest::newRow("case1.3")
       
   122         << QRectF(54, 763, 24, 5434)
   116         << QRectF(54, 763, 24, 5434)
   123         << (QList<QRectF>() << QRectF(343, 321, 1034, 102) << QRectF(3320, 3420, 1430, 1043) << QRectF(0, 43, 10, 997))
   117         << (QList<QRectF>() << QRectF(343, 321, 1034, 102) << QRectF(3320, 3420, 1430, 1043) << QRectF(0, 43, 10, 997))
   124         << (QList<QRectF>() << QRectF(322, 12, 835, 623) << QRectF(624, 56, 536, 895) << QRectF(31, 423, 32, 9823))
   118         << (QList<QRectF>() << QRectF(322, 12, 835, 623) << QRectF(624, 56, 536, 895) << QRectF(31, 423, 32, 9823))
   125         << QList<QRectF>();
   119         << QList<QRectF>();
   126 
   120 
       
   121     // basic set of similar size rects to simple content area's first row
       
   122     QTest::newRow("case1.3")
       
   123         << QRectF(0, 0, 100, 100) << QList<QRectF>()
       
   124         << (QList<QRectF>() << QRectF(0, 0, 10, 10) << QRectF(0, 0, 10, 10) << QRectF(0, 0, 10, 10))
       
   125         << (QList<QRectF>() << QRectF(0, 0, 10, 10) << QRectF(15, 0, 10, 10) << QRectF(30, 0, 10, 10));
       
   126 
   127     // set of similar height rects to simple content area on multiple rows
   127     // set of similar height rects to simple content area on multiple rows
   128     QTest::newRow("case1.4")
   128     QTest::newRow("case1.4")
   129         << QRectF(0, 0, 100, 100) << QList<QRectF>()
   129         << QRectF(0, 0, 100, 100) << QList<QRectF>()
   130         << (QList<QRectF>() << QRectF(0, 0, 40, 10) << QRectF(0, 0, 50, 10) << QRectF(0, 0, 95, 10) << QRectF(0, 0, 50, 10) << QRectF(0, 0, 10, 10))
   130         << (QList<QRectF>() << QRectF(0, 0, 40, 10) << QRectF(0, 0, 50, 10) << QRectF(0, 0, 95, 10) << QRectF(0, 0, 50, 10) << QRectF(0, 0, 10, 10))
   131         << (QList<QRectF>() << QRectF(0, 0, 40, 10) << QRectF(45, 0, 50, 10) << QRectF(0, 15, 95, 10) << QRectF(0, 30, 50, 10) << QRectF(55, 30, 10, 10));
   131         << (QList<QRectF>() << QRectF(0, 0, 40, 10) << QRectF(45, 0, 50, 10) << QRectF(0, 15, 95, 10) << QRectF(0, 30, 50, 10) << QRectF(55, 30, 10, 10));
   153     QFETCH(QList<QRectF>, expectedWidgets);
   153     QFETCH(QList<QRectF>, expectedWidgets);
   154 
   154 
   155     HsWidgetOrganizer *widgetOrganizer =
   155     HsWidgetOrganizer *widgetOrganizer =
   156         new HsWidgetOrganizer(5, HsConfiguration::SearchRowByRow);
   156         new HsWidgetOrganizer(5, HsConfiguration::SearchRowByRow);
   157 
   157 
   158     QList<QRectF> convertedWidgets = widgetOrganizer->convert(contentArea, existingWidgets,
   158     HsWidgetPositioningOnWidgetAdd::Result result;
   159                                                                widgets, QPointF());
   159     result = widgetOrganizer->convert(contentArea, existingWidgets,
       
   160                                       widgets, QPointF());
   160     // Verify amount
   161     // Verify amount
   161     QCOMPARE(convertedWidgets.count(), expectedWidgets.count());
   162     QCOMPARE(result.calculatedRects.count(), expectedWidgets.count());
   162     // Compare calculated and expected values
   163     // Compare calculated and expected values
   163     for (int i = 0; i < expectedWidgets.count(); ++i) {
   164     for (int i = 0; i < expectedWidgets.count(); ++i) {
   164         QVERIFY(hsRectCompare(convertedWidgets.at(i), expectedWidgets.at(i)));
   165         QVERIFY(hsRectCompare(result.calculatedRects.at(i), expectedWidgets.at(i)));
   165     }
   166     }
   166 
   167 
   167     delete widgetOrganizer;
   168     delete widgetOrganizer;
   168 }
   169 }
   169 
   170 
   197     QFETCH(QList<QRectF>, expectedWidgets);
   198     QFETCH(QList<QRectF>, expectedWidgets);
   198 
   199 
   199     mainWindow.setOrientation(Qt::Horizontal);
   200     mainWindow.setOrientation(Qt::Horizontal);
   200     HsWidgetOrganizer *widgetOrganizer =
   201     HsWidgetOrganizer *widgetOrganizer =
   201         new HsWidgetOrganizer(5, HsConfiguration::SearchColumnByColumn);
   202         new HsWidgetOrganizer(5, HsConfiguration::SearchColumnByColumn);
   202     QList<QRectF> convertedWidgets = widgetOrganizer->convert(contentArea, existingWidgets,
   203 
   203                                                 widgets, QPointF());
   204     HsWidgetPositioningOnWidgetAdd::Result result;
   204     QCOMPARE(convertedWidgets.count(), expectedWidgets.count());
   205     result = widgetOrganizer->convert(contentArea, existingWidgets,
   205     for (int i = 0; i < expectedWidgets.count(); ++i) {
   206                                       widgets, QPointF());
   206         QVERIFY(hsRectCompare(convertedWidgets.at(i), expectedWidgets.at(i)));
   207     QCOMPARE(result.calculatedRects.count(), expectedWidgets.count());
       
   208     for (int i = 0; i < expectedWidgets.count(); ++i) {
       
   209         QVERIFY(hsRectCompare(result.calculatedRects.at(i), expectedWidgets.at(i)));
   207     }
   210     }
   208 
   211 
   209     delete widgetOrganizer;
   212     delete widgetOrganizer;
   210     // set orientation back to normal
   213     // set orientation back to normal
   211     mainWindow.setOrientation(Qt::Vertical);
   214     mainWindow.setOrientation(Qt::Vertical);
   241     QFETCH(QList<QRectF>, widgets);
   244     QFETCH(QList<QRectF>, widgets);
   242     QFETCH(QList<QRectF>, expectedWidgets);
   245     QFETCH(QList<QRectF>, expectedWidgets);
   243 
   246 
   244     HsWidgetOrganizer *widgetOrganizer =
   247     HsWidgetOrganizer *widgetOrganizer =
   245         new HsWidgetOrganizer(1, HsConfiguration::SearchRowByRow);
   248         new HsWidgetOrganizer(1, HsConfiguration::SearchRowByRow);
   246     QList<QRectF> convertedWidgets = widgetOrganizer->convert(contentArea, existingWidgets,
   249 
       
   250     HsWidgetPositioningOnWidgetAdd::Result result;
       
   251     result = widgetOrganizer->convert(contentArea, existingWidgets,
   247                                                 widgets, QPointF());
   252                                                 widgets, QPointF());
   248     QCOMPARE(convertedWidgets.count(), expectedWidgets.count());
   253     QCOMPARE(result.calculatedRects.count(), expectedWidgets.count());
   249     for (int i = 0; i < expectedWidgets.count(); ++i) {
   254     for (int i = 0; i < expectedWidgets.count(); ++i) {
   250         QVERIFY(hsRectCompare(convertedWidgets.at(i), expectedWidgets.at(i)));
   255         QVERIFY(hsRectCompare(result.calculatedRects.at(i), expectedWidgets.at(i)));
   251     }
   256     }
   252 
   257 
   253     delete widgetOrganizer;
   258     delete widgetOrganizer;
   254 }
   259 }
   255 
   260