Beispiel #1
0
 def testIsInstant(self):
     self.assertFalse(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2)).isInstant())
     self.assertTrue(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 3, 1)).isInstant())
     self.assertFalse(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 3, 1), False, False).isInstant())
     self.assertFalse(QgsDateRange(QDate(), QDate()).isInstant())
Beispiel #2
0
    def testOverlaps(self):
        # includes both ends
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(), QDate(2010, 4, 1))))
        self.assertFalse(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2009, 8, 5))))
        self.assertFalse(range.overlaps(QgsDateRange(QDate(2019, 4, 1), QDate(2019, 8, 5))))

        range = QgsDateRange(QDate(), QDate(2010, 6, 2))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(), QDate(2010, 4, 1))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2009, 8, 5))))
        self.assertFalse(range.overlaps(QgsDateRange(QDate(2019, 4, 1), QDate(2019, 8, 5))))

        range = QgsDateRange(QDate(2010, 3, 1), QDate())
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(), QDate(2010, 4, 1))))
        self.assertFalse(range.overlaps(QgsDateRange(QDate(2009, 4, 1), QDate(2009, 8, 5))))
        self.assertTrue(range.overlaps(QgsDateRange(QDate(2019, 4, 1), QDate(2019, 8, 5))))
Beispiel #3
0
 def testIsEmpty(self):
     self.assertFalse(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2)).isEmpty())
     self.assertFalse(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 3, 1)).isEmpty())
     self.assertTrue(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 3, 1), False, False).isEmpty())
     self.assertTrue(QgsDateRange(QDate(2017, 3, 1), QDate(2010, 6, 2)).isEmpty())
     self.assertFalse(QgsDateRange(QDate(), QDate()).isEmpty())
Beispiel #4
0
    def testContains(self):
        # includes both ends
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertFalse(range.contains(QgsDateRange(QDate(), QDate(2010, 4, 1))))

        # infinite left end
        range = QgsDateRange(QDate(), QDate(2010, 6, 2))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertTrue(range.contains(QgsDateRange(QDate(), QDate(2010, 4, 1))))

        # infinite right end
        range = QgsDateRange(QDate(2010, 3, 1), QDate())
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2010, 6, 2))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2))))
        self.assertFalse(range.contains(QgsDateRange(QDate(2009, 4, 1), QDate(2010, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate(2017, 4, 5))))
        self.assertTrue(range.contains(QgsDateRange(QDate(2010, 4, 1), QDate())))
        self.assertFalse(range.contains(QgsDateRange(QDate(), QDate(2010, 4, 1))))
    def testExtend(self):
        range_empty = QgsDateRange(QDate(2010, 6, 2), QDate(2010, 3, 1))

        # Empty
        self.assertFalse(range_empty.extend(range_empty))
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertFalse(range.extend(range_empty))
        range = QgsDateRange(QDate(2010, 6, 2), QDate(2010, 3, 1))
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False, False))

        # Extend low
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 2, 1), QDate(2010, 6, 2), False,
                             False)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 2, 1), QDate(2010, 6, 2), False, False))
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 2, 1), QDate(2010, 5, 2), True,
                             False)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 2, 1), QDate(2010, 6, 2), True, False))

        # Extend high
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 3, 1), QDate(2010, 7, 2), False,
                             False)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 3, 1), QDate(2010, 7, 2), False, False))
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             True)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False, True))

        # Extend both
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 2, 1), QDate(2010, 7, 2), False,
                             False)))
        self.assertEqual(
            range,
            QgsDateRange(QDate(2010, 2, 1), QDate(2010, 7, 2), False, False))

        # Extend none
        range = QgsDateRange(QDate(2010, 3, 1), QDate(2010, 6, 2), False,
                             False)
        self.assertFalse(
            range.extend(
                QgsDateRange(QDate(2010, 4, 6), QDate(2010, 5, 2), False,
                             False)))

        # Test infinity
        range = QgsDateRange(QDate(), QDate())
        self.assertFalse(
            range.extend(
                QgsDateRange(QDate(2010, 4, 6), QDate(2010, 5, 2), False,
                             False)))
        range = QgsDateRange(QDate(), QDate(2010, 5, 2))
        self.assertFalse(
            range.extend(
                QgsDateRange(QDate(2010, 4, 6), QDate(2010, 5, 2), False,
                             False)))
        self.assertEqual(range,
                         QgsDateRange(QDate(), QDate(2010, 5, 2), True, True))
        range = QgsDateRange(QDate(2010, 4, 6), QDate())
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 3, 6), QDate(2010, 5, 2), False,
                             False)))
        self.assertEqual(range,
                         QgsDateRange(QDate(2010, 3, 6), QDate(), False, True))
        range = QgsDateRange(QDate(), QDate(2010, 5, 2))
        self.assertTrue(
            range.extend(
                QgsDateRange(QDate(2010, 3, 6), QDate(2010, 6, 2), False,
                             False)))
        self.assertEqual(range,
                         QgsDateRange(QDate(), QDate(2010, 6, 2), True, False))
        range = QgsDateRange(QDate(2010, 4, 6), QDate())
        self.assertTrue(
            range.extend(QgsDateRange(QDate(), QDate(2010, 5, 2), True,
                                      False)))
        self.assertEqual(range, QgsDateRange(QDate(), QDate(), True, True))
        range = QgsDateRange(QDate(), QDate(2010, 4, 6))
        self.assertTrue(
            range.extend(QgsDateRange(QDate(), QDate(), True, True)))
        self.assertEqual(range, QgsDateRange(QDate(), QDate(), True, True))