diff --git a/tests/test_series/test_range.py b/tests/test_series/test_range.py index 924d9b70f8d68876ced2f82032a9449230807502..c7b2ff020725494b4daea459b3a2eecbd00f5781 100644 --- a/tests/test_series/test_range.py +++ b/tests/test_series/test_range.py @@ -9,12 +9,18 @@ from firanka.series import Range class TestRange(unittest.TestCase): def do_intersect(self, a, b, val): - if bool(Range(a).intersection(b)) != val: - self.fail('%s ^ %s != %s' % (Range(a), Range(b), val)) - if bool(Range(b).intersection(a)) != val: - self.fail('%s ^ %s != %s' % (Range(b), Range(a), val)) + if type(val) == bool: + if bool(Range(a).intersection(b)) != val: + self.fail('%s ^ %s != %s' % (Range(a), Range(b), val)) + if bool(Range(b).intersection(a)) != val: + self.fail('%s ^ %s != %s' % (Range(b), Range(a), val)) + else: + self.assertEqual(Range(a).intersection(b), Range(val)) + self.assertEqual(Range(b).intersection(a), Range(val)) def test_isempty(self): + self.assertFalse(Range(-1,-1,False,False)) + self.assertTrue(Range(-1,-1,False,True)) self.assertTrue(Range(-1,-1,False,False).is_empty()) self.assertFalse(Range(-1,-1,False,True).is_empty()) @@ -22,13 +28,18 @@ class TestRange(unittest.TestCase): self.do_intersect(Range(-10, -1, True, True), '<2;3>', False) self.do_intersect(Range(-10, -1, True, False), '(-1;3>', False) self.do_intersect('<-10;-1)', '<-1;1>', False) + self.do_intersect(Range(-10, -1, True, False), '(-1;3>', False) + self.do_intersect('<-10;2)', '<1;5>', '<1;2)') - def test_str(self): + def test_str_and_repr_and_bool(self): + p = Range(-1,1,True,True) + self.assertEqual(eval(repr(p)),p) self.assertEqual(str(Range(-1, 1, True, True)), '<-1;1>') def test_constructor(self): self.assertRaises(ValueError, lambda: Range('#2;3>')) self.assertRaises(ValueError, lambda: Range('(2;3!')) + self.assertRaises(ValueError, lambda: Range('<-inf;3)')) self.assertEqual(Range(1,2,True,False), Range('<1;2)')) def test_contains(self):