Source code for mdg.tests.test_tools

import unittest

from mdg.tools.case import camelcase, snakecase, pascalcase
from typing import List
from mdg.tools.io import obj_to_dict, dict_to_obj


[docs] class TestUMLModel(unittest.TestCase):
[docs] def setUp(self): pass
[docs] def test_camel(self): self.assertEqual("test", camelcase("test")) self.assertEqual("test", camelcase("Test")) self.assertEqual("test", camelcase("Test ")) self.assertEqual("test", camelcase("Test_")) self.assertEqual("test", camelcase(" Test_")) self.assertEqual("testCase", camelcase("TestCase")) self.assertEqual("testCase", camelcase("testCase")) self.assertEqual("testCase", camelcase("test case")) self.assertEqual("testCase", camelcase("Test Case")) self.assertEqual("testCase", camelcase("Test_Case"))
[docs] def test_pascal(self): self.assertEqual("Test", pascalcase("test")) self.assertEqual("Test", pascalcase("Test")) self.assertEqual("TestCase", pascalcase("TestCase")) self.assertEqual("TestCase", pascalcase("testCase")) self.assertEqual("TestCase", pascalcase("test case")) self.assertEqual("TestCase", pascalcase("Test Case")) self.assertEqual("TestCase", pascalcase("Test_Case"))
[docs] def test_snake(self): self.assertEqual("test_case", snakecase("testCase")) self.assertEqual("test_case", snakecase("test_case")) self.assertEqual("test_case", snakecase("TestCase")) self.assertEqual("test_case", snakecase("test case")) self.assertEqual("test_case", snakecase("Test Case")) self.assertEqual(None, snakecase(None)) self.assertEqual("eftpos", snakecase("EFTPOS"))
[docs] class foo: id: int
[docs] class Meta: id_field = 'id'
[docs] class blort: my_list: List[foo] basic_list: List[int] c: foo d: dict
[docs] class Meta: owned_subobjects = 'my_list'
[docs] class TestIO(unittest.TestCase):
[docs] def setUp(self): a = foo() a.id = 2 self.b = blort() self.b.my_list = [a, ] self.b.c = a self.b.d = {"e": "f"}
[docs] def test_to_dict(self): output = obj_to_dict(self.b) self.assertEqual(2, output['my_list'][0]['id'])
[docs] def test_to_obj(self): input = {'c': {'id': 1}} obj = dict_to_obj(input, blort) self.assertEqual(1, obj.c.id) input = {'my_list': [{'id': 1}, ], 'c': 1, 'd': {"e": "f"}, 'basic_list': [1, 2, 3]} obj = dict_to_obj(input, blort) self.assertEqual(1, obj.c.id) self.assertEqual('f', obj.d['e']) self.assertEqual(2, obj.basic_list[1]) self.assertEqual(1, obj.my_list[0].id)