hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp
changeset 20 a60f8b6b1d32
parent 7 5ebec3429918
equal deleted inserted replaced
17:a10844a9914d 20:a60f8b6b1d32
  1412     QCOMPARE(res.isValid(), true);
  1412     QCOMPARE(res.isValid(), true);
  1413     QCOMPARE(res.toString().startsWith("item"), true);
  1413     QCOMPARE(res.toString().startsWith("item"), true);
  1414 
  1414 
  1415 }
  1415 }
  1416 
  1416 
       
  1417 void TestCacheProxy::testCP_IsCached()
       
  1418 {
       
  1419     cp = new HgCacheProxyModel();
       
  1420     dph = new DataProviderHelper(1000);
       
  1421     cp->setDataProvider(dph);
       
  1422     
       
  1423     QModelIndex idx = cp->index(0, 0);
       
  1424     QVariant res = cp->data(idx, Qt::DisplayRole); //this will move buffer to 0-119
       
  1425     int begin = 0;
       
  1426     int end = 120;
       
  1427     int size = dph->getCount();
       
  1428     for (int i=0; i<size; i++){
       
  1429         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1430     }
       
  1431     
       
  1432     idx = cp->index(50, 0);
       
  1433     cp->data(idx, Qt::DisplayRole); //don't move buffer yet
       
  1434     for (int i=0; i<size; i++){
       
  1435         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1436     }
       
  1437 
       
  1438     idx = cp->index(89, 0);//don't move buffer yet
       
  1439     cp->data(idx, Qt::DisplayRole);
       
  1440     for (int i=0; i<size; i++){
       
  1441         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1442     }
       
  1443     
       
  1444     idx = cp->index(100, 0); //now move buffer
       
  1445     cp->data(idx, Qt::DisplayRole);
       
  1446     begin = 40;
       
  1447     end = 160;
       
  1448     for (int i=0; i<size; i++){
       
  1449         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1450     }
       
  1451 
       
  1452     idx = cp->index(500, 0); //move buffer
       
  1453     cp->data(idx, Qt::DisplayRole);
       
  1454     begin = 440;
       
  1455     end = 560;
       
  1456     for (int i=0; i<size; i++){
       
  1457         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1458     }
       
  1459 
       
  1460     idx = cp->index(980, 0); //move buffer
       
  1461     cp->data(idx, Qt::DisplayRole);
       
  1462     begin = 880;
       
  1463     end = 1000;
       
  1464     for (int i=0; i<size; i++){
       
  1465         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1466     }
       
  1467 
       
  1468     idx = cp->index(920, 0); //move buffer
       
  1469     cp->data(idx, Qt::DisplayRole);
       
  1470     begin = 880;
       
  1471     end = 1000;
       
  1472     for (int i=0; i<size; i++){
       
  1473         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1474     }
       
  1475     
       
  1476     idx = cp->index(890, 0); //move buffer
       
  1477     cp->data(idx, Qt::DisplayRole);
       
  1478     begin = 830;
       
  1479     end = 950;
       
  1480     for (int i=0; i<size; i++){
       
  1481         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1482     }
       
  1483     
       
  1484     idx = cp->index(10, 0); //move buffer
       
  1485     cp->data(idx, Qt::DisplayRole);
       
  1486     begin = 0;
       
  1487     end = 120;
       
  1488     for (int i=0; i<size; i++){
       
  1489         QVERIFY2((dph->isCached(i))==((i>=begin)&& (i<end)), QString("begin:%1 end:%2 size:%3 i:%4").arg(begin).arg(end).arg(size).arg(i).toLatin1().data() );
       
  1490     }
       
  1491 }
  1417 
  1492 
  1418 #ifdef _CACHEPROXYDATAMODEL_UNITTEST_LOG_TO_C
  1493 #ifdef _CACHEPROXYDATAMODEL_UNITTEST_LOG_TO_C
  1419     int main (int argc, char* argv[]) 
  1494     int main (int argc, char* argv[]) 
  1420     {
  1495     {
  1421         QApplication app(argc, argv);
  1496         QApplication app(argc, argv);
  1434                 QString s = file.absolutePath ();
  1509                 QString s = file.absolutePath ();
  1435                 s = s.left( s.lastIndexOf(file.dirName()) );
  1510                 s = s.left( s.lastIndexOf(file.dirName()) );
  1436                 if ( !file.exists(s) ){
  1511                 if ( !file.exists(s) ){
  1437                     file.mkpath(s);
  1512                     file.mkpath(s);
  1438                 }
  1513                 }
       
  1514                 break;
  1439             }
  1515             }
  1440         }
  1516         }
  1441         
  1517         
  1442         QApplication app(argc, argv);
  1518         QApplication app(argc, argv);
  1443         QTEST_DISABLE_KEYPAD_NAVIGATION
  1519         QTEST_DISABLE_KEYPAD_NAVIGATION