summaryrefslogtreecommitdiff
path: root/tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py')
-rwxr-xr-xtools/InterfaceGenerator/test/generator/parsers/test_SDLRPCV1.py64
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()