Init Commit: Moved bproto to seperate repo
This commit is contained in:
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