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)]),
[(1, 6), (8, 9)])
class TestPredicate(unittest.TestCase):
def test_range_predicate(self):
dummy = None
pred = util.RangePredicate(" - 3 , 4- 4, 2-6")
for i in range(6):
self.assertTrue(pred)
self.assertTrue(pred(dummy, dummy))
with self.assertRaises(exception.StopExtraction):
bool(pred)
bool(pred(dummy, dummy))
pred = util.RangePredicate("1, 3, 5")
self.assertTrue(pred)
self.assertFalse(pred)
self.assertTrue(pred)
self.assertFalse(pred)
self.assertTrue(pred)
self.assertTrue(pred(dummy, dummy))
self.assertFalse(pred(dummy, dummy))
self.assertTrue(pred(dummy, dummy))
self.assertFalse(pred(dummy, dummy))
self.assertTrue(pred(dummy, dummy))
with self.assertRaises(exception.StopExtraction):
bool(pred)
bool(pred(dummy, dummy))
pred = util.RangePredicate("")
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):