Skip to content

Commit 14b7343

Browse files
theangryangelBlommaertsEdwin
authored andcommitted
More testing
1 parent 05d906e commit 14b7343

File tree

2 files changed

+32
-17
lines changed

2 files changed

+32
-17
lines changed

pydifact/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@
4040

4141
# EDIFACT Syntax Rules
4242
# http://www.unece.org/fileadmin/DAM/trade/edifact/untdid/d422_s.htm#normative
43+
from . import mapping
44+
45+
# generic EDIFACT implementation tutorial
46+
# http://www.gxs.co.uk/wp-content/uploads/tutorial_edifact.pdf
4347

4448
# UNECE Syntax Implementation Guidelines
4549
# https://www.unece.org/fileadmin/DAM/trade/untdid/texts/d423.htm

wip.py

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from pydifact.segmentcollection import Interchange
2-
from pydifact.segments import Segment
3-
import pydifact.mapping as mapping
2+
from pydifact import Segment, mapping, serializer
43

54

65
class BGM(Segment):
@@ -46,7 +45,7 @@ class LIN(Segment):
4645
RFF+LI:1'
4746
UNS+S'
4847
CNT+2:1'
49-
UNT+32+1'
48+
UNT+1+27'
5049
UNZ+1+0001'"""
5150
)
5251

@@ -84,23 +83,35 @@ class Order(mapping.SegmentGroup):
8483

8584
TYPE_TO_PARSER_DICT = {"ORDERS": Order}
8685

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())
9187

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))
9491

95-
reconstituted = obj.to_message(message.reference_number, message.identifier)
92+
obj = cls()
93+
obj.from_message(message)
9694

97-
# print(str(obj))
98-
# print(obj.purchase_order_id[0])
95+
reconstituted = obj.to_message(message.reference_number, message.identifier)
9996

100-
assert isinstance(obj.purchase_order_id._to_segments(), BGM)
97+
# print(str(obj))
98+
# print(obj.purchase_order_id[0])
10199

102-
# print(message.segments)
100+
assert isinstance(obj.purchase_order_id._to_segments(), BGM)
103101

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

Comments
 (0)