96 lines
2.4 KiB
Python
96 lines
2.4 KiB
Python
import unittest
|
|
|
|
from benedict.dicts.parse import parse_util
|
|
|
|
|
|
class parse_util_test_case(unittest.TestCase):
|
|
"""
|
|
This class describes a parse utility test case.
|
|
"""
|
|
|
|
def test_parse_bool(self):
|
|
f = parse_util.parse_bool
|
|
self.assertTrue(f(1))
|
|
self.assertTrue(f(True))
|
|
self.assertTrue(f("1"))
|
|
self.assertTrue(f("True"))
|
|
self.assertTrue(f("Yes"))
|
|
self.assertTrue(f("Ok"))
|
|
self.assertTrue(f("On"))
|
|
self.assertFalse(f(None))
|
|
self.assertFalse(f(0))
|
|
self.assertFalse(f(False))
|
|
self.assertFalse(f("0"))
|
|
self.assertFalse(f("False"))
|
|
self.assertFalse(f("No"))
|
|
self.assertFalse(f("Ko"))
|
|
self.assertFalse(f("Off"))
|
|
|
|
def test_parse_date(self):
|
|
# TODO
|
|
pass
|
|
|
|
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):
|
|
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)
|
|
self.assertEqual(f(None), None)
|
|
|
|
def test_parse_list_with_valid_json(self):
|
|
f = lambda value: parse_util.parse_list(value, separator=None)
|
|
self.assertEqual(f("[0,1,2,3]"), [0, 1, 2, 3])
|
|
|
|
def test_parse_list_with_invalid_json_with_separator(self):
|
|
f = lambda value: parse_util.parse_list(value, separator=",")
|
|
self.assertEqual(f("[a,b,c]"), ["[a", "b", "c]"])
|
|
|
|
def test_parse_list_with_invalid_json_without_separator(self):
|
|
f = lambda value: parse_util.parse_list(value, separator=None)
|
|
self.assertEqual(f("[a,b,c]"), None)
|
|
|
|
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
|