def testOverlaps(self): # includes both ends range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) range = QgsRasterRange(float('NaN'), 10, QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertTrue(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) range = QgsRasterRange(0, float('NaN'), QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertTrue(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes left end range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMin) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes right end range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, 50))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes neither end range = QgsRasterRange(0, 10, QgsRasterRange.Exclusive) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax)))
def testOverlaps(self): # includes both ends range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) range = QgsRasterRange(float('NaN'), 10, QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertTrue(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) range = QgsRasterRange(0, float('NaN'), QgsRasterRange.IncludeMinAndMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertTrue(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes left end range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMin) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertTrue( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes right end range = QgsRasterRange(0, 10, QgsRasterRange.IncludeMax) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(0, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(10, 11))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(0, 50))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertTrue( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax))) # includes neither end range = QgsRasterRange(0, 10, QgsRasterRange.Exclusive) self.assertTrue(range.overlaps(QgsRasterRange(1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(0, 9))) self.assertTrue(range.overlaps(QgsRasterRange(0, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 10))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 9))) self.assertTrue(range.overlaps(QgsRasterRange(1, 11))) self.assertTrue(range.overlaps(QgsRasterRange(-1, 11))) self.assertFalse(range.overlaps(QgsRasterRange(10, 11))) self.assertFalse(range.overlaps(QgsRasterRange(-1, 0))) self.assertFalse(range.overlaps(QgsRasterRange(-10, -1))) self.assertFalse(range.overlaps(QgsRasterRange(11, 12))) self.assertTrue(range.overlaps(QgsRasterRange(-1, float('NaN')))) self.assertTrue(range.overlaps(QgsRasterRange(1, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(10, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(11, float('NaN')))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), -1))) self.assertFalse(range.overlaps(QgsRasterRange(float('NaN'), 0))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 1))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 10))) self.assertTrue(range.overlaps(QgsRasterRange(float('NaN'), 11))) self.assertTrue( range.overlaps(QgsRasterRange(float('NaN'), float('NaN')))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(-1, 0, QgsRasterRange.IncludeMax))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.Exclusive))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMin))) self.assertFalse( range.overlaps(QgsRasterRange(10, 11, QgsRasterRange.IncludeMax)))