def test_data_range_overlap_bad_types(self): """Test that we refuse to check type-mismatched DataRanges for overlap.""" strings = DataRange("cat", "horse") scalars = DataRange(42, 45) with self.assertRaises(TypeError) as context: self.assertFalse(strings.overlaps(scalars)) self.assertIn( 'Only DataRanges of the same type (numeric or lexicographic)', str(context.exception))
def test_data_range_no_overlap(self): """Test that we detect when DataRanges don't overlap.""" lesser = DataRange(1, 2) greater = DataRange(3, 5) self.assertFalse(lesser.overlaps(greater)) self.assertFalse(greater.overlaps(lesser))
def test_data_range_overlap_strings(self): """Test that we detect overlapping string DataRanges.""" lesser = DataRange("cat", "horse") greater = DataRange("dog", "fish") self.assertTrue(greater.overlaps(lesser))
def test_data_range_overlaps(self): """Test that we detect when DataRanges overlap.""" lesser = DataRange(1, None) greater = DataRange(-4, 5) self.assertTrue(lesser.overlaps(greater)) self.assertTrue(greater.overlaps(lesser))