From d08de50053653b53dc445258fad5491b940a39e2 Mon Sep 17 00:00:00 2001 From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl> Date: Fri, 8 Dec 2017 20:50:15 +0100 Subject: [PATCH] ok --- firanka/series/range.py | 5 +++-- tests/test_series/test_range.py | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/firanka/series/range.py b/firanka/series/range.py index 5f153bf..ffc0859 100644 --- a/firanka/series/range.py +++ b/firanka/series/range.py @@ -25,8 +25,9 @@ class Range(object): def __init__(self, *args): if len(args) == 1: rs, = args - assert rs[0] in '<(' - assert rs[-1] in '>)' + + if (rs[0] not in '<(') or (rs[-1] not in '>)'): + raise ValueError('Must start with < or ( and end with ) or >') lend_inclusive = rs[0] == '<' rend_inclusive = rs[-1] == '>' diff --git a/tests/test_series/test_range.py b/tests/test_series/test_range.py index 4482699..f0eca70 100644 --- a/tests/test_series/test_range.py +++ b/tests/test_series/test_range.py @@ -14,6 +14,10 @@ class TestRange(unittest.TestCase): def test_str(self): 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!')) + def test_contains(self): self.assertFalse(-1 in Range('<-10;-1)')) self.assertTrue(-10 in Range('<-10;-1)')) -- GitLab