@classmethod
def naive_parse(cls, data):
+ if data is None:
+ raise TypeError("No data provided")
retval = cls()
for ((name, field), value) in zip(retval._fields.items(), data):
setattr(retval, name, value)
assert seg.responses[1].code == '0100'
assert len(seg.responses) == 2
+# Regression test, bug found in the wild
+def test_extra_colon():
+ message1 = rb"""HIRMG:2:2:+3060::Teilweise liegen Warnungen/Hinweise vor.'"""
+
+ m1 = FinTS3Parser().parse_message(message1)
+ seg = m1.segments[0]
+
+ assert seg.header.type == 'HIRMG'
+ assert seg.header.version == 2
+ assert seg.header.reference is None
+
def test_invalid():
message1 = rb"""12"""