Skip to content
Snippets Groups Projects
Commit 541eab3e authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

test

parent 015da28f
No related branches found
No related tags found
No related merge requests found
......@@ -24,12 +24,12 @@ class Range(object):
"""
def __init__(self, *args):
if len(args) == 1:
if isinstance(args[0], type(self)):
start = args[0].start
stop = args[0].stop
lend_inclusive = args[0].lend_inclusive
rend_inclusive = args[0].rend_inclusive
rs, = args
if isinstance(rs, type(self)):
start = rs.start
stop = rs.stop
lend_inclusive = rs.lend_inclusive
rend_inclusive = rs.rend_inclusive
else:
rs, = args
......@@ -40,8 +40,7 @@ class Range(object):
lend_inclusive = rs[0] == '<'
rend_inclusive = rs[-1] == '>'
rs = rs[1:-1]
start, stop = rs.split(';')
start, stop = rs[1:-1].split(';')
start = float(start)
stop = float(stop)
else:
......@@ -98,7 +97,7 @@ class Range(object):
if (self.stop < y.start) or (y.stop < y.start):
return EMPTY_RANGE
if self.stop == y.start and not (self.rend_inclusive or y.lend_inclusive):
if self.stop == y.start and not (self.rend_inclusive and y.lend_inclusive):
return EMPTY_RANGE
if self.start == y.start:
......
......@@ -9,8 +9,10 @@ from firanka.series import Range
class TestRange(unittest.TestCase):
def do_intersect(self, a, b, val):
self.assertEqual(bool(Range(a).intersection(b)), val)
self.assertEqual(bool(Range(b).intersection(a)), 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))
def test_intersection(self):
self.do_intersect(Range(-10, -1, True, True), '<2;3>', False)
......@@ -23,6 +25,7 @@ class TestRange(unittest.TestCase):
def test_constructor(self):
self.assertRaises(ValueError, lambda: Range('#2;3>'))
self.assertRaises(ValueError, lambda: Range('(2;3!'))
self.assertEqual(Range(1,2,True,False), Range('<1;2)'))
def test_contains(self):
self.assertFalse(-1 in Range('<-10;-1)'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment