Skip to content
Permalink
Browse files

More tests

  • Loading branch information
nyalldawson committed Mar 26, 2021
1 parent 15420f2 commit 5f670cec00d08d346f70684c6f7ae40e28aad561
Showing with 37 additions and 1 deletion.
  1. +37 −1 tests/src/core/testqgsrange.cpp
@@ -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 ) );

0 comments on commit 5f670ce

Please sign in to comment.