|
1 | 1 | from pydifact.segmentcollection import Interchange |
2 | | -from pydifact.segments import Segment |
3 | | -import pydifact.mapping as mapping |
| 2 | +from pydifact import Segment, mapping, serializer |
4 | 3 |
|
5 | 4 |
|
6 | 5 | class BGM(Segment): |
@@ -46,7 +45,7 @@ class LIN(Segment): |
46 | 45 | RFF+LI:1' |
47 | 46 | UNS+S' |
48 | 47 | CNT+2:1' |
49 | | -UNT+32+1' |
| 48 | +UNT+1+27' |
50 | 49 | UNZ+1+0001'""" |
51 | 50 | ) |
52 | 51 |
|
@@ -84,23 +83,35 @@ class Order(mapping.SegmentGroup): |
84 | 83 |
|
85 | 84 | TYPE_TO_PARSER_DICT = {"ORDERS": Order} |
86 | 85 |
|
87 | | -for message in interchange.get_messages(): |
88 | | - cls = TYPE_TO_PARSER_DICT.get(message.type) |
89 | | - if not cls: |
90 | | - raise NotImplementedError("Unsupported message type '{}'".format(message.type)) |
| 86 | +message = next(interchange.get_messages()) |
91 | 87 |
|
92 | | - obj = cls() |
93 | | - obj.from_message(message) |
| 88 | +cls = TYPE_TO_PARSER_DICT.get(message.type) |
| 89 | +if not cls: |
| 90 | + raise NotImplementedError("Unsupported message type '{}'".format(message.type)) |
94 | 91 |
|
95 | | - reconstituted = obj.to_message(message.reference_number, message.identifier) |
| 92 | +obj = cls() |
| 93 | +obj.from_message(message) |
96 | 94 |
|
97 | | - # print(str(obj)) |
98 | | - # print(obj.purchase_order_id[0]) |
| 95 | +reconstituted = obj.to_message(message.reference_number, message.identifier) |
99 | 96 |
|
100 | | - assert isinstance(obj.purchase_order_id._to_segments(), BGM) |
| 97 | +# print(str(obj)) |
| 98 | +# print(obj.purchase_order_id[0]) |
101 | 99 |
|
102 | | - # print(message.segments) |
| 100 | +assert isinstance(obj.purchase_order_id._to_segments(), BGM) |
103 | 101 |
|
104 | | - assert str(message) == str( |
105 | | - reconstituted |
106 | | - ), "Original message should match reconstituted message" |
| 102 | +# print(message.segments) |
| 103 | + |
| 104 | +assert str(message) == str( |
| 105 | + reconstituted |
| 106 | +), "Original message should match reconstituted message" |
| 107 | + |
| 108 | +reconstituted_interchange = Interchange( |
| 109 | + interchange.sender, interchange.recipient, |
| 110 | + interchange.control_reference, |
| 111 | + interchange.syntax_identifier, |
| 112 | + interchange.delimiters, |
| 113 | + interchange.timestamp |
| 114 | +) |
| 115 | +reconstituted_interchange.add_message(reconstituted) |
| 116 | + |
| 117 | +assert reconstituted_interchange.serialize() == interchange.serialize(), "Original interchange should match reconstituted interchange" |
0 commit comments