diff options
Diffstat (limited to 'tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py')
-rwxr-xr-x | tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py | 64 |
1 files changed, 40 insertions, 24 deletions
diff --git a/tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py b/tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py index 1464658ff4..b039473c24 100755 --- a/tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py +++ b/tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py @@ -1,13 +1,25 @@ """SDLRPCV1 XML parser unit test.""" import os +import sys import unittest - -import generator.Model -import generator.parsers.SDLRPCV1 +from pathlib import Path + +sys.path.append(Path(__file__).absolute().parents[3].as_posix()) +sys.path.append(Path(__file__).absolute().parents[4].joinpath('rpc_spec/InterfaceParser').as_posix()) +try: + import generator.parsers.SDLRPCV1 + from model.array import Array + from model.boolean import Boolean + from model.enum_subset import EnumSubset + from model.float import Float + from model.integer import Integer + from model.string import String +except ModuleNotFoundError as error: + print('{}.\nProbably you did not initialize submodule'.format(error)) + sys.exit(1) class TestSDLRPCV1Parser(unittest.TestCase): - """Test for SDLRPCV1 xml parser.""" class _Issue: @@ -21,7 +33,7 @@ class TestSDLRPCV1Parser(unittest.TestCase): def setUp(self): """Test initialization.""" self.valid_xml_name = os.path.dirname(os.path.realpath(__file__)) + \ - "/valid_SDLRPCV1.xml" + "/valid_SDLRPCV1.xml" self.parser = generator.parsers.SDLRPCV1.Parser() def test_valid_xml(self): @@ -150,7 +162,7 @@ class TestSDLRPCV1Parser(unittest.TestCase): name="member1", description=["Param1 description"]) self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Integer) + self.assertIsInstance(member.param_type, Integer) self.assertIsNone(member.param_type.min_value) self.assertIsNone(member.param_type.max_value) @@ -159,13 +171,13 @@ class TestSDLRPCV1Parser(unittest.TestCase): self.verify_base_item(item=member, name="member2", platform="member2 platform") self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Boolean) + self.assertIsInstance(member.param_type, Boolean) self.assertIn("member3", struct.members) member = struct.members["member3"] self.verify_base_item(item=member, name="member3") self.assertEqual(False, member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Double) + self.assertIsInstance(member.param_type, Float) self.assertIsNone(member.param_type.min_value) self.assertAlmostEqual(20.5, member.param_type.max_value) @@ -173,11 +185,11 @@ class TestSDLRPCV1Parser(unittest.TestCase): member = struct.members["member4"] self.verify_base_item(item=member, name="member4") self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Array) + self.assertIsInstance(member.param_type, Array) self.assertIsNone(member.param_type.min_size) self.assertIsNone(member.param_type.max_size) self.assertIsInstance(member.param_type.element_type, - generator.Model.Integer) + Integer) self.assertEqual(11, member.param_type.element_type.min_value) self.assertEqual(100, member.param_type.element_type.max_value) @@ -196,18 +208,18 @@ class TestSDLRPCV1Parser(unittest.TestCase): member = struct.members["m1"] self.verify_base_item(item=member, name="m1") self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.String) + self.assertIsInstance(member.param_type, String) self.assertIsNone(member.param_type.max_length) self.assertIn("m2", struct.members) member = struct.members["m2"] self.verify_base_item(item=member, name="m2") self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Array) + self.assertIsInstance(member.param_type, Array) self.assertEqual(1, member.param_type.min_size) self.assertEqual(50, member.param_type.max_size) self.assertIsInstance(member.param_type.element_type, - generator.Model.String) + String) self.assertEqual(100, member.param_type.element_type.max_length) self.assertIn("m3", struct.members) @@ -220,7 +232,7 @@ class TestSDLRPCV1Parser(unittest.TestCase): member = struct.members["m4"] self.verify_base_item(item=member, name="m4") self.assertTrue(member.is_mandatory) - self.assertIsInstance(member.param_type, generator.Model.Array) + self.assertIsInstance(member.param_type, Array) self.assertIsNone(member.param_type.min_size) self.assertEqual(10, member.param_type.max_size) self.assertIs(member.param_type.element_type, @@ -258,9 +270,10 @@ class TestSDLRPCV1Parser(unittest.TestCase): name="param1", issues=[TestSDLRPCV1Parser._Issue(creator="", value="")]) self.assertEqual(False, param.is_mandatory) - self.assertIsInstance(param.param_type, generator.Model.String) + self.assertIsInstance(param.param_type, String) self.assertIsNone(param.param_type.max_length) - self.assertEqual("String default value", param.default_value) + self.assertIsNone(param.default_value) + self.assertEqual("String default value", param.param_type.default_value) self.assertIn("param2", function.params) param = function.params["param2"] @@ -271,7 +284,7 @@ class TestSDLRPCV1Parser(unittest.TestCase): todos=["Param2 todo"], platform="param2 platform") self.assertTrue(param.is_mandatory) - self.assertIsInstance(param.param_type, generator.Model.Integer) + self.assertIsInstance(param.param_type, Integer) self.assertIsNone(param.param_type.min_value) self.assertIsNone(param.param_type.max_value) self.assertIsNone(param.default_value) @@ -317,15 +330,17 @@ class TestSDLRPCV1Parser(unittest.TestCase): self.verify_base_item(item=param, name="p2") self.assertTrue(param.is_mandatory) self.assertIs(param.param_type, interface.enums["enum1"]) - self.assertIs(param.default_value, - interface.enums["enum1"].elements["element2"]) + self.assertIsNone(param.default_value) + self.assertIsNone(param.param_type.default_value) + self.assertIs(param.param_type.elements["element2"], interface.enums["enum1"].elements["element2"]) self.assertIn("p3", function.params) param = function.params["p3"] self.verify_base_item(item=param, name="p3", design_description=[""]) self.assertTrue(param.is_mandatory) - self.assertIsInstance(param.param_type, generator.Model.Boolean) - self.assertEqual(False, param.default_value) + self.assertIsInstance(param.param_type, Boolean) + self.assertIsNone(param.default_value) + self.assertFalse(param.param_type.default_value) # Function notification "Function2" @@ -351,7 +366,7 @@ class TestSDLRPCV1Parser(unittest.TestCase): param = function.params["n1"] self.verify_base_item(item=param, name="n1", todos=["n1 todo"]) self.assertTrue(param.is_mandatory) - self.assertIsInstance(param.param_type, generator.Model.EnumSubset) + self.assertIsInstance(param.param_type, EnumSubset) self.assertIs(param.param_type.enum, interface.enums["enum1"]) self.assertDictEqual( {"element2": interface.enums["enum1"].elements["element2"], @@ -363,11 +378,11 @@ class TestSDLRPCV1Parser(unittest.TestCase): param = function.params["n2"] self.verify_base_item(item=param, name="n2", todos=["n2 todo"]) self.assertTrue(param.is_mandatory) - self.assertIsInstance(param.param_type, generator.Model.Array) + self.assertIsInstance(param.param_type, Array) self.assertEqual(1, param.param_type.min_size) self.assertEqual(100, param.param_type.max_size) self.assertIsInstance(param.param_type.element_type, - generator.Model.EnumSubset) + EnumSubset) self.assertIs(param.param_type.element_type.enum, interface.enums["enum1"]) self.assertDictEqual( @@ -400,5 +415,6 @@ class TestSDLRPCV1Parser(unittest.TestCase): """Return provided list or empty list if None is provided.""" return list if list is not None else [] + if __name__ == "__main__": unittest.main() |