Init Commit: Moved bproto to seperate repo
This commit is contained in:
49
test/compiler/name_conversion/test_name_bproto_style.py
Normal file
49
test/compiler/name_conversion/test_name_bproto_style.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import sys
|
||||
sys.path.append('src/')
|
||||
|
||||
from nameHandling.base import ComponentName, NameStyleBproto
|
||||
|
||||
|
||||
def test_component_name():
|
||||
assert ComponentName(["test"]) != 1234
|
||||
assert ComponentName(["test"]) == ComponentName(["test"])
|
||||
assert ComponentName(["test"]) != ComponentName(["test", "test"])
|
||||
assert hash(ComponentName(["test"])) == hash(ComponentName(["test"]))
|
||||
assert hash(ComponentName(["test"])) != hash(ComponentName(["test", "test"]))
|
||||
assert repr(ComponentName(["test"])) == "ComponentName(Test)"
|
||||
assert repr(ComponentName(["test", "test"])) == "ComponentName(Test-Test)"
|
||||
|
||||
|
||||
def test_ComponentNameStyleBproto():
|
||||
assert NameStyleBproto.fromStr("test") == ComponentName(["test"])
|
||||
assert NameStyleBproto.fromStr("ThisIsATest") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("thisIsATest") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("this-is-a-test") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("this-Is-A-test") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("this_is_a_test") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("this_Is_a_Test") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("this-Is_ATest") == ComponentName(["this", "is", "a", "test"])
|
||||
assert NameStyleBproto.fromStr("ThisIs-A_test") == ComponentName(["this", "is", "a", "test"])
|
||||
|
||||
|
||||
def test_ComponentNameStyleBproto_context_enum():
|
||||
assert NameStyleBproto.fromStr("test", "enum") == ComponentName(["test"])
|
||||
assert NameStyleBproto.fromStr("ThisIsATest", "enum") == ComponentName(["thisisatest"])
|
||||
assert NameStyleBproto.fromStr("TESTTEST", "enum") == ComponentName(["testtest"])
|
||||
assert NameStyleBproto.fromStr("TEST_TEST", "enum") == ComponentName(["test", "test"])
|
||||
|
||||
|
||||
def test_ComponentNameStyleBproto_comparison():
|
||||
c = NameStyleBproto.fromStr("ThisIsATest")
|
||||
assert c == "this-is-a-test"
|
||||
assert c == "this_is_a_test"
|
||||
assert c == "thisIsATest"
|
||||
assert c == "ThisIsATest"
|
||||
assert c == "This_Is_A_Test"
|
||||
|
||||
|
||||
def test_ComponentNameStyleBproto_from_Component():
|
||||
c = ComponentName(["this", "is", "a", "test"])
|
||||
c2 = NameStyleBproto.fromStr(c)
|
||||
|
||||
assert c == c2
|
||||
40
test/compiler/name_conversion/test_name_brand_applier.py
Normal file
40
test/compiler/name_conversion/test_name_brand_applier.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import sys
|
||||
sys.path.append('src/')
|
||||
|
||||
from nameHandling.brand_applier import BrandApplier
|
||||
from protocol_components.message import Message
|
||||
from nameHandling.base import ComponentName
|
||||
|
||||
|
||||
def test_name_applier():
|
||||
protocolNameApplier = BrandApplier("brand")
|
||||
|
||||
name = ComponentName(["test"])
|
||||
name = protocolNameApplier.apply(name)
|
||||
assert name == ComponentName(["brand", "test"])
|
||||
|
||||
name = ComponentName(["test", "test"])
|
||||
name = protocolNameApplier.apply(name)
|
||||
assert name == ComponentName(["brand", "test", "test"])
|
||||
|
||||
msg = Message(ComponentName(["this", "is", "a", "test"]), 0)
|
||||
msg: Message = protocolNameApplier.apply(msg)
|
||||
assert msg.name == ComponentName(["brand", "this", "is", "a", "test"])
|
||||
|
||||
protocolNameApplier = BrandApplier(ComponentName(["happy", "brand"]))
|
||||
|
||||
msg = Message(ComponentName(["this", "is", "a", "test"]), 0)
|
||||
msg: Message = protocolNameApplier.apply(msg)
|
||||
assert msg.name == ComponentName(["happy", "brand", "this", "is", "a", "test"])
|
||||
|
||||
try:
|
||||
protocolNameApplier.apply(None)
|
||||
assert False
|
||||
except Exception as e:
|
||||
assert isinstance(e, TypeError)
|
||||
|
||||
try:
|
||||
protocolNameApplier = BrandApplier(None)
|
||||
assert False
|
||||
except Exception as e:
|
||||
assert isinstance(e, TypeError)
|
||||
73
test/compiler/name_conversion/test_name_c_style.py
Normal file
73
test/compiler/name_conversion/test_name_c_style.py
Normal file
@@ -0,0 +1,73 @@
|
||||
import sys
|
||||
sys.path.append('src/')
|
||||
|
||||
from nameHandling.base import ComponentName
|
||||
from protocol_components.protocolFactory import FactoryProtocolDefition
|
||||
from protocol_components.enumeration import FactoryEnumeration, Enumeration
|
||||
from protocol_components.bitfields import FactoryBitfield, Bitfield
|
||||
from protocol_components.dtypes import BprotoFieldBaseType
|
||||
from protocol_components.field import FactoryField
|
||||
from protocol_components.message import FactoryMessage, Message
|
||||
from nameHandling.style.cNameStyle import NameStyleC
|
||||
|
||||
|
||||
def test_style_c_fromStr():
|
||||
try:
|
||||
NameStyleC.fromStr("")
|
||||
assert False
|
||||
except Exception as e:
|
||||
assert isinstance(e, NotImplementedError)
|
||||
|
||||
|
||||
def test_style_c_toStr_enum():
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "Values"]), "enum_name") == "MyCustomValues"
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "enum", "value"]), "enum_item") == "MY_CUSTOM_ENUM_VALUE"
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "class"]), "struct_name") == "MyCustomClass"
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "class", "member"]), "struct_member") == "myCustomClassMember"
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "class"]), "bitfield_name") == "MyCustomClass"
|
||||
assert NameStyleC.toStr(ComponentName(["my", "custom", "class", "member"]), "bitfield_member") == "myCustomClassMember"
|
||||
|
||||
|
||||
def test_style_c_preprocessor():
|
||||
protocol_factory = FactoryProtocolDefition()
|
||||
|
||||
enum_factory = FactoryEnumeration()
|
||||
enum_factory.add_value("first-Value", 1)
|
||||
enum_factory.add_value("second-Important-Value", 2)
|
||||
protocol_factory.add_enum(enum_factory.assemble("mode"))
|
||||
|
||||
bitfield_factory = FactoryBitfield()
|
||||
bitfield_factory.add_bit("FirstBit", 0)
|
||||
bitfield_factory.add_bit("SecondBit", 1)
|
||||
protocol_factory.add_bitfield(bitfield_factory.assemble("bitfield1"))
|
||||
|
||||
message_factory = FactoryMessage()
|
||||
message_factory.add_field(FactoryField().assemble("x", 1, BprotoFieldBaseType.FLOAT32, 2, None))
|
||||
message_factory.add_field(FactoryField().assemble("y", 2, BprotoFieldBaseType.FLOAT32, 2, None))
|
||||
protocol_factory.add_message(message_factory.assemble("cordUpdate", 1))
|
||||
|
||||
protocol = protocol_factory.assemble("ABCP", 5)
|
||||
protocol = NameStyleC.preprocess(protocol)
|
||||
|
||||
enum: Enumeration = list(protocol.enums.values())[0]
|
||||
bitfield: Bitfield = list(protocol.bitfields.values())[0]
|
||||
message: Message = list(protocol.messages.values())[0]
|
||||
|
||||
assert isinstance(enum, Enumeration)
|
||||
assert isinstance(bitfield, Bitfield)
|
||||
assert isinstance(message, Message)
|
||||
|
||||
assert NameStyleC.toStr(enum.name, "enum_name") == "Abcp_enum_Mode"
|
||||
assert NameStyleC.toStr(bitfield.name, "bitfield_name") == "Abcp_bitfield_Bitfield1"
|
||||
assert NameStyleC.toStr(message.name, "struct_name") == "Abcp_message_CordUpdate"
|
||||
|
||||
assert enum.values == {
|
||||
ComponentName(["abcp", "_enum_", "mode", "value", "first", "value"]): 1,
|
||||
ComponentName(["abcp", "_enum_", "mode", "value", "second", "important", "value"]): 2
|
||||
}
|
||||
|
||||
assert bitfield.bits == {
|
||||
ComponentName(["first", "bit"]): 0,
|
||||
ComponentName(["second", "bit"]): 1
|
||||
}
|
||||
|
||||
59
test/compiler/name_conversion/test_name_python_style.py
Normal file
59
test/compiler/name_conversion/test_name_python_style.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import sys
|
||||
sys.path.append('src/')
|
||||
|
||||
from nameHandling.base import ComponentName
|
||||
from protocol_components.protocolFactory import FactoryProtocolDefition
|
||||
from protocol_components.enumeration import FactoryEnumeration, Enumeration
|
||||
from protocol_components.bitfields import FactoryBitfield, Bitfield
|
||||
from protocol_components.dtypes import BprotoFieldBaseType
|
||||
from protocol_components.field import FactoryField
|
||||
from protocol_components.message import FactoryMessage, Message
|
||||
from nameHandling.style.pythonNameStyle import NameStylePython
|
||||
|
||||
|
||||
def test_style_python_fromStr():
|
||||
try:
|
||||
NameStylePython.fromStr("")
|
||||
assert False
|
||||
except Exception as e:
|
||||
assert isinstance(e, NotImplementedError)
|
||||
|
||||
|
||||
def test_style_python_toStr_enum():
|
||||
assert NameStylePython.toStr(ComponentName(["my", "custom", "enum"]), "enum_name") == "MyCustomEnum"
|
||||
assert NameStylePython.toStr(ComponentName(["my", "custom", "enum", "value"]), "enum_item") == "MY_CUSTOM_ENUM_VALUE"
|
||||
assert NameStylePython.toStr(ComponentName(["my", "custom", "class"]), "class_name") == "MyCustomClass"
|
||||
assert NameStylePython.toStr(ComponentName(["my", "custom", "class", "member"]), "class_member") == "my_custom_class_member"
|
||||
|
||||
|
||||
def test_style_python_preprocessor():
|
||||
protocol_factory = FactoryProtocolDefition()
|
||||
|
||||
enum_factory = FactoryEnumeration()
|
||||
enum_factory.add_value("first-Value", 1)
|
||||
enum_factory.add_value("second-Important-Value", 2)
|
||||
protocol_factory.add_enum(enum_factory.assemble("mode"))
|
||||
|
||||
bitfield_factory = FactoryBitfield()
|
||||
bitfield_factory.add_bit("FirstBit", 0)
|
||||
bitfield_factory.add_bit("SecondBit", 1)
|
||||
protocol_factory.add_bitfield(bitfield_factory.assemble("bitfield1"))
|
||||
|
||||
message_factory = FactoryMessage()
|
||||
message_factory.add_field(FactoryField().assemble("x", 1, BprotoFieldBaseType.FLOAT32, 2, None))
|
||||
message_factory.add_field(FactoryField().assemble("y", 2, BprotoFieldBaseType.FLOAT32, 2, None))
|
||||
protocol_factory.add_message(message_factory.assemble("cordUpdate", 1))
|
||||
|
||||
protocol = protocol_factory.assemble("HCPT", 5)
|
||||
protocol = NameStylePython.preprocess(protocol)
|
||||
|
||||
enum: Enumeration = list(protocol.enums.values())[0]
|
||||
bitfield: Bitfield = list(protocol.bitfields.values())[0]
|
||||
message: Message = list(protocol.messages.values())[0]
|
||||
|
||||
assert isinstance(enum, Enumeration)
|
||||
assert isinstance(bitfield, Bitfield)
|
||||
|
||||
assert NameStylePython.toStr(enum.name, "enum_name") == "HcptEnumMode"
|
||||
assert NameStylePython.toStr(bitfield.name, "class_name") == "HcptBitfieldBitfield1"
|
||||
assert NameStylePython.toStr(message.name, "class_name") == "HcptMessageCordUpdate"
|
||||
Reference in New Issue
Block a user