|
@@ -53,13 +53,49 @@ void TestQgsRange::cleanup() |
|
|
|
|
|
void TestQgsRange::testMergeRangesDate() |
|
|
{ |
|
|
QList< QgsDateRange > res = QgsDateRange::mergeRanges( {} ); |
|
|
QVERIFY( res.empty() ); |
|
|
|
|
|
res = QgsDateRange::mergeRanges( {QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) )} ); |
|
|
QCOMPARE( res.size(), 1 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 10 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 15 ) ); |
|
|
|
|
|
res = QgsDateRange::mergeRanges( {QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 19 ), QDate( 2020, 1, 22 ) )} ); |
|
|
QCOMPARE( res.size(), 2 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 10 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 15 ) ); |
|
|
QCOMPARE( res.at( 1 ).begin(), QDate( 2020, 1, 19 ) ); |
|
|
QCOMPARE( res.at( 1 ).end(), QDate( 2020, 1, 22 ) ); |
|
|
|
|
|
res = QgsDateRange::mergeRanges( {QgsDateRange( QDate( 2020, 1, 19 ), QDate( 2020, 1, 22 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) )} ); |
|
|
QCOMPARE( res.size(), 2 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 10 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 15 ) ); |
|
|
QCOMPARE( res.at( 1 ).begin(), QDate( 2020, 1, 19 ) ); |
|
|
QCOMPARE( res.at( 1 ).end(), QDate( 2020, 1, 22 ) ); |
|
|
|
|
|
res = QgsDateRange::mergeRanges( {QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 12 ), QDate( 2020, 1, 22 ) )} ); |
|
|
QCOMPARE( res.size(), 1 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 10 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 22 ) ); |
|
|
|
|
|
res = QgsDateRange::mergeRanges( {QgsDateRange( QDate( 2020, 1, 12 ), QDate( 2020, 1, 22 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) )} ); |
|
|
QCOMPARE( res.size(), 1 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 10 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 22 ) ); |
|
|
|
|
|
QList< QgsDateRange > ranges { QgsDateRange( QDate( 2020, 1, 10 ), QDate( 2020, 1, 15 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 20 ), QDate( 2020, 1, 25 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 9 ), QDate( 2020, 1, 11 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 19 ), QDate( 2020, 1, 27 ) ), |
|
|
QgsDateRange( QDate( 2020, 1, 1 ), QDate( 2020, 1, 3 ) ) }; |
|
|
|
|
|
QList< QgsDateRange > res = QgsDateRange::mergeRanges( ranges ); |
|
|
res = QgsDateRange::mergeRanges( ranges ); |
|
|
QCOMPARE( res.size(), 3 ); |
|
|
QCOMPARE( res.at( 0 ).begin(), QDate( 2020, 1, 1 ) ); |
|
|
QCOMPARE( res.at( 0 ).end(), QDate( 2020, 1, 3 ) ); |
|
|