@@ -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