update unittests for util.py

pull/40/head
Mike Fährmann 7 years ago
parent 02e89700fc
commit 9bf9d64ad8
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -87,6 +87,7 @@ def combine_dict(a, b):
combine_dict(a[key], value)
else:
a[key] = value
return a
def code_to_language(code, default=None):

@ -9,6 +9,65 @@
import unittest
import gallery_dl.util as util
import gallery_dl.exception as exception
import sys
class TestRange(unittest.TestCase):
def test_parse_range(self):
self.assertEqual(
util.parse_range(""),
[])
self.assertEqual(
util.parse_range("1-2"),
[(1, 2)])
self.assertEqual(
util.parse_range("-"),
[(1, sys.maxsize)])
self.assertEqual(
util.parse_range("-2,4,6-8,10-"),
[(1, 2), (4, 4), (6, 8), (10, sys.maxsize)])
self.assertEqual(
util.parse_range(" - 3 , 4- 4, 2-6"),
[(1, 3), (4, 4), (2, 6)])
def test_optimize_range(self):
self.assertEqual(
util.optimize_range([]),
[])
self.assertEqual(
util.optimize_range([(2, 4)]),
[(2, 4)])
self.assertEqual(
util.optimize_range([(2, 4), (6, 8), (10, 12)]),
[(2, 4), (6, 8), (10, 12)])
self.assertEqual(
util.optimize_range([(2, 4), (4, 6), (5, 8)]),
[(2, 8)])
self.assertEqual(
util.optimize_range([(1, 1), (2, 2), (3, 6), (8, 9)]),
[(1, 6), (8, 9)])
def test_range_predicate(self):
pred = util.RangePredicate(" - 3 , 4- 4, 2-6")
for i in range(6):
self.assertTrue(pred)
with self.assertRaises(exception.StopExtraction):
bool(pred)
pred = util.RangePredicate("1, 3, 5")
self.assertTrue(pred)
self.assertFalse(pred)
self.assertTrue(pred)
self.assertFalse(pred)
self.assertTrue(pred)
with self.assertRaises(exception.StopExtraction):
bool(pred)
pred = util.RangePredicate("")
with self.assertRaises(exception.StopExtraction):
bool(pred)
class TestISO639_1(unittest.TestCase):
@ -48,5 +107,32 @@ class TestISO639_1(unittest.TestCase):
self.assertEqual(func(*args), result)
class TestOther(unittest.TestCase):
def test_bdecode(self):
self.assertEqual(util.bdecode(""), 0)
self.assertEqual(util.bdecode("123"), 123)
self.assertEqual(util.bdecode("1111011", "01"), 123)
self.assertEqual(util.bdecode("AAAABAA", "BA"), 123)
def test_combine_dict(self):
self.assertEqual(
util.combine_dict({}, {}),
{})
self.assertEqual(
util.combine_dict({1: 1, 2: 2}, {2: 4, 4: 8}),
{1: 1, 2: 4, 4: 8})
self.assertEqual(
util.combine_dict(
{1: {11: 22, 12: 24}, 2: {13: 26, 14: 28}},
{1: {11: 33, 13: 39}, 2: "str"}),
{1: {11: 33, 12: 24, 13: 39}, 2: "str"})
self.assertEqual(
util.combine_dict(
{1: {2: {3: {4: {"1": "a", "2": "b"}}}}},
{1: {2: {3: {4: {"1": "A", "3": "C"}}}}}),
{1: {2: {3: {4: {"1": "A", "2": "b", "3": "C"}}}}})
if __name__ == '__main__':
unittest.main()

Loading…
Cancel
Save