update unittests for util.py

This commit is contained in:
Mike Fährmann
2017-09-06 17:57:19 +02:00
parent 268cfa3cfe
commit 31731cbefe

View File

@@ -49,25 +49,52 @@ class TestRange(unittest.TestCase):
util.optimize_range([(1, 1), (2, 2), (3, 6), (8, 9)]), util.optimize_range([(1, 1), (2, 2), (3, 6), (8, 9)]),
[(1, 6), (8, 9)]) [(1, 6), (8, 9)])
class TestPredicate(unittest.TestCase):
def test_range_predicate(self): def test_range_predicate(self):
dummy = None
pred = util.RangePredicate(" - 3 , 4- 4, 2-6") pred = util.RangePredicate(" - 3 , 4- 4, 2-6")
for i in range(6): for i in range(6):
self.assertTrue(pred) self.assertTrue(pred(dummy, dummy))
with self.assertRaises(exception.StopExtraction): with self.assertRaises(exception.StopExtraction):
bool(pred) bool(pred(dummy, dummy))
pred = util.RangePredicate("1, 3, 5") pred = util.RangePredicate("1, 3, 5")
self.assertTrue(pred) self.assertTrue(pred(dummy, dummy))
self.assertFalse(pred) self.assertFalse(pred(dummy, dummy))
self.assertTrue(pred) self.assertTrue(pred(dummy, dummy))
self.assertFalse(pred) self.assertFalse(pred(dummy, dummy))
self.assertTrue(pred) self.assertTrue(pred(dummy, dummy))
with self.assertRaises(exception.StopExtraction): with self.assertRaises(exception.StopExtraction):
bool(pred) bool(pred(dummy, dummy))
pred = util.RangePredicate("") pred = util.RangePredicate("")
with self.assertRaises(exception.StopExtraction): with self.assertRaises(exception.StopExtraction):
bool(pred) bool(pred(dummy, dummy))
def test_unique_predicate(self):
dummy = None
pred = util.UniquePredicate()
self.assertTrue(pred("1", dummy))
self.assertTrue(pred("2", dummy))
self.assertFalse(pred("1", dummy))
self.assertFalse(pred("2", dummy))
self.assertTrue(pred("3", dummy))
self.assertFalse(pred("3", dummy))
def test_build_predicate(self):
pred = util.build_predicate([])
self.assertIsInstance(pred, type(lambda: True))
pred = util.build_predicate([util.UniquePredicate()])
self.assertIsInstance(pred, util.UniquePredicate)
pred = util.build_predicate([util.UniquePredicate(),
util.UniquePredicate()])
self.assertIsInstance(pred, util.ChainPredicate)
class TestISO639_1(unittest.TestCase): class TestISO639_1(unittest.TestCase):