python-benedict/tests/dicts/parse/test_parse_util.py

96 lines
2.4 KiB
Python
Raw Normal View History

2020-02-20 16:17:22 +00:00
import unittest
from benedict.dicts.parse import parse_util
2020-02-20 16:17:22 +00:00
class parse_util_test_case(unittest.TestCase):
2022-02-13 10:35:43 +00:00
"""
This class describes a parse utility test case.
"""
2020-02-20 16:17:22 +00:00
def test_parse_bool(self):
f = parse_util.parse_bool
self.assertTrue(f(1))
self.assertTrue(f(True))
2022-02-13 10:35:43 +00:00
self.assertTrue(f("1"))
self.assertTrue(f("True"))
self.assertTrue(f("Yes"))
self.assertTrue(f("Ok"))
self.assertTrue(f("On"))
2020-02-20 16:17:22 +00:00
self.assertFalse(f(None))
self.assertFalse(f(0))
self.assertFalse(f(False))
2022-02-13 10:35:43 +00:00
self.assertFalse(f("0"))
self.assertFalse(f("False"))
self.assertFalse(f("No"))
self.assertFalse(f("Ko"))
self.assertFalse(f("Off"))
2020-02-20 16:17:22 +00:00
def test_parse_date(self):
# TODO
pass
2020-02-20 16:17:22 +00:00
def test_parse_datetime(self):
# TODO
pass
def test_parse_decimal(self):
# TODO
pass
def test_parse_dict(self):
# TODO
pass
def test_parse_float(self):
# TODO
pass
def test_parse_email(self):
# TODO
pass
def test_parse_int(self):
# TODO
pass
def test_parse_list(self):
2022-02-13 10:35:43 +00:00
f = lambda value: parse_util.parse_list(value, separator=",")
self.assertEqual(
f(["0", "1", "2", "Hello World"]),
["0", "1", "2", "Hello World"],
)
self.assertEqual(f("0,1,2"), ["0", "1", "2"])
self.assertEqual(f("0"), ["0"])
self.assertEqual(f("1"), ["1"])
self.assertEqual(f(""), None)
2021-01-14 17:28:01 +00:00
self.assertEqual(f(None), None)
2020-02-20 16:17:22 +00:00
2021-01-18 15:00:22 +00:00
def test_parse_list_with_valid_json(self):
f = lambda value: parse_util.parse_list(value, separator=None)
2022-02-13 10:35:43 +00:00
self.assertEqual(f("[0,1,2,3]"), [0, 1, 2, 3])
2021-01-18 15:00:22 +00:00
def test_parse_list_with_invalid_json_with_separator(self):
2022-02-13 10:35:43 +00:00
f = lambda value: parse_util.parse_list(value, separator=",")
self.assertEqual(f("[a,b,c]"), ["[a", "b", "c]"])
2021-01-18 15:00:22 +00:00
def test_parse_list_with_invalid_json_without_separator(self):
f = lambda value: parse_util.parse_list(value, separator=None)
2022-02-13 10:35:43 +00:00
self.assertEqual(f("[a,b,c]"), None)
2021-01-18 15:00:22 +00:00
2020-02-20 16:17:22 +00:00
def test_parse_phonenumber(self):
# TODO
pass
def test_parse_slug(self):
# TODO
pass
def test_parse_str(self):
# TODO
pass
def test_parse_uuid(self):
# TODO
pass