##// END OF EJS Templates
Added contains and intersect tests to DateTimeRange...
jeandet -
r7:368fd49a8e6b
parent child
Show More
@@ -99,6 +99,54 private slots:
99 QCOMPARE(initial*zoom, expected);
99 QCOMPARE(initial*zoom, expected);
100 }
100 }
101
101
102 void testRangeContains_data()
103 {
104 QTest::addColumn<DateTimeRange>("range");
105 QTest::addColumn<DateTimeRange>("range2");
106 QTest::addColumn<bool>("contains");
107 auto now = QDateTime::currentDateTime();
108 auto yestd = QDateTime::currentDateTime().addDays(-1);
109 auto range = DateTimeRange::fromDateTime(yestd, now);
110 QTest::newRow("Same range") << range << range << true;
111 QTest::newRow("Smaller range") << range << range * 0.8 << true;
112 QTest::newRow("Bigger range") << range << range * 1.2 << false;
113 QTest::newRow("Shifted range with overlap") << range << range + Seconds<double>{1000.} << false;
114 QTest::newRow("Shifted range without overlap") << range << range + Seconds<double>{24.*60.*60.*10} << false;
115
116 }
117 void testRangeContains()
118 {
119 QFETCH(DateTimeRange,range);
120 QFETCH(DateTimeRange,range2);
121 QFETCH(bool,contains);
122 QCOMPARE(range.contains(range2), contains);
123 }
124
125 void testRangeIntersect_data()
126 {
127 QTest::addColumn<DateTimeRange>("range");
128 QTest::addColumn<DateTimeRange>("range2");
129 QTest::addColumn<bool>("contains");
130 auto now = QDateTime::currentDateTime();
131 auto yestd = QDateTime::currentDateTime().addDays(-1);
132 auto tomorrow = QDateTime::currentDateTime().addDays(1);
133 auto range = DateTimeRange::fromDateTime(yestd, now);
134 auto range2 = DateTimeRange::fromDateTime(now, tomorrow);
135 QTest::newRow("Same range") << range << range << true;
136 QTest::newRow("Smaller range") << range << range * 0.8 << true;
137 QTest::newRow("Bigger range") << range << range * 1.2 << true;
138 QTest::newRow("Shifted range with overlap") << range << range + Seconds<double>{1000.} << true;
139 QTest::newRow("Shifted range with overlaping boundary") << range << range2 << true;
140 QTest::newRow("Shifted range without overlap") << range << range + Seconds<double>{24.*60.*60.*10} << false;
141
142 }
143 void testRangeIntersect()
144 {
145 QFETCH(DateTimeRange,range);
146 QFETCH(DateTimeRange,range2);
147 QFETCH(bool,contains);
148 QCOMPARE(range.intersect(range2), contains);
149 }
102 };
150 };
103 QTEST_MAIN(TestDateTimeRange)
151 QTEST_MAIN(TestDateTimeRange)
104
152
General Comments 0
You need to be logged in to leave comments. Login now