15
15
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
import pytest
17
17
18
- from pydifact .exceptions import EdifactSyntaxError
19
- from pydifact .token import Token , TokenType
18
+ from pydifact .exceptions import EDISyntaxError
19
+ from pydifact .token import Token
20
20
from pydifact .tokenizer import Tokenizer
21
21
22
22
from pydifact .control import Characters
@@ -47,12 +47,12 @@ def test_basic():
47
47
_assert_tokens (
48
48
"RFF+PD:50515'" ,
49
49
[
50
- Token (TokenType .CONTENT , "RFF" ),
51
- Token (TokenType .DATA_SEPARATOR , "+" ),
52
- Token (TokenType .CONTENT , "PD" ),
53
- Token (TokenType .COMPONENT_SEPARATOR , ":" ),
54
- Token (TokenType .CONTENT , "50515" ),
55
- Token (TokenType .TERMINATOR , "'" ),
50
+ Token (Token . Type .CONTENT , "RFF" ),
51
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
52
+ Token (Token . Type .CONTENT , "PD" ),
53
+ Token (Token . Type .COMPONENT_SEPARATOR , ":" ),
54
+ Token (Token . Type .CONTENT , "50515" ),
55
+ Token (Token . Type .TERMINATOR , "'" ),
56
56
],
57
57
)
58
58
@@ -61,10 +61,10 @@ def test_escape():
61
61
_assert_tokens (
62
62
"RFF+PD?:5'" ,
63
63
[
64
- Token (TokenType .CONTENT , "RFF" ),
65
- Token (TokenType .DATA_SEPARATOR , "+" ),
66
- Token (TokenType .CONTENT , "PD:5" ),
67
- Token (TokenType .TERMINATOR , "'" ),
64
+ Token (Token . Type .CONTENT , "RFF" ),
65
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
66
+ Token (Token . Type .CONTENT , "PD:5" ),
67
+ Token (Token . Type .TERMINATOR , "'" ),
68
68
],
69
69
)
70
70
@@ -73,12 +73,12 @@ def test_double_escape():
73
73
_assert_tokens (
74
74
"RFF+PD??:5'" ,
75
75
[
76
- Token (TokenType .CONTENT , "RFF" ),
77
- Token (TokenType .DATA_SEPARATOR , "+" ),
78
- Token (TokenType .CONTENT , "PD?" ),
79
- Token (TokenType .COMPONENT_SEPARATOR , ":" ),
80
- Token (TokenType .CONTENT , "5" ),
81
- Token (TokenType .TERMINATOR , "'" ),
76
+ Token (Token . Type .CONTENT , "RFF" ),
77
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
78
+ Token (Token . Type .CONTENT , "PD?" ),
79
+ Token (Token . Type .COMPONENT_SEPARATOR , ":" ),
80
+ Token (Token . Type .CONTENT , "5" ),
81
+ Token (Token . Type .TERMINATOR , "'" ),
82
82
],
83
83
)
84
84
@@ -87,10 +87,10 @@ def test_triple_escape():
87
87
_assert_tokens (
88
88
"RFF+PD???:5'" ,
89
89
[
90
- Token (TokenType .CONTENT , "RFF" ),
91
- Token (TokenType .DATA_SEPARATOR , "+" ),
92
- Token (TokenType .CONTENT , "PD?:5" ),
93
- Token (TokenType .TERMINATOR , "'" ),
90
+ Token (Token . Type .CONTENT , "RFF" ),
91
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
92
+ Token (Token . Type .CONTENT , "PD?:5" ),
93
+ Token (Token . Type .TERMINATOR , "'" ),
94
94
],
95
95
)
96
96
@@ -99,12 +99,12 @@ def test_quadruple_escape():
99
99
_assert_tokens (
100
100
"RFF+PD????:5'" ,
101
101
[
102
- Token (TokenType .CONTENT , "RFF" ),
103
- Token (TokenType .DATA_SEPARATOR , "+" ),
104
- Token (TokenType .CONTENT , "PD??" ),
105
- Token (TokenType .COMPONENT_SEPARATOR , ":" ),
106
- Token (TokenType .CONTENT , "5" ),
107
- Token (TokenType .TERMINATOR , "'" ),
102
+ Token (Token . Type .CONTENT , "RFF" ),
103
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
104
+ Token (Token . Type .CONTENT , "PD??" ),
105
+ Token (Token . Type .COMPONENT_SEPARATOR , ":" ),
106
+ Token (Token . Type .CONTENT , "5" ),
107
+ Token (Token . Type .TERMINATOR , "'" ),
108
108
],
109
109
)
110
110
@@ -113,10 +113,10 @@ def test_starts_with_escape():
113
113
_assert_tokens (
114
114
"DTM+?+0'" ,
115
115
[
116
- Token (TokenType .CONTENT , "DTM" ),
117
- Token (TokenType .DATA_SEPARATOR , "+" ),
118
- Token (TokenType .CONTENT , "+0" ),
119
- Token (TokenType .TERMINATOR , "'" ),
116
+ Token (Token . Type .CONTENT , "DTM" ),
117
+ Token (Token . Type .DATA_SEPARATOR , "+" ),
118
+ Token (Token . Type .CONTENT , "+0" ),
119
+ Token (Token . Type .TERMINATOR , "'" ),
120
120
],
121
121
)
122
122
@@ -127,14 +127,14 @@ def test_starts_with_escape():
127
127
@pytest .fixture
128
128
def expected_crlf ():
129
129
return [
130
- Token (TokenType .CONTENT , "RFF" ),
131
- Token (TokenType .COMPONENT_SEPARATOR , ":" ),
132
- Token (TokenType .CONTENT , "5" ),
133
- Token (TokenType .TERMINATOR , "'" ),
134
- Token (TokenType .CONTENT , "DEF" ),
135
- Token (TokenType .COMPONENT_SEPARATOR , ":" ),
136
- Token (TokenType .CONTENT , "6" ),
137
- Token (TokenType .TERMINATOR , "'" ),
130
+ Token (Token . Type .CONTENT , "RFF" ),
131
+ Token (Token . Type .COMPONENT_SEPARATOR , ":" ),
132
+ Token (Token . Type .CONTENT , "5" ),
133
+ Token (Token . Type .TERMINATOR , "'" ),
134
+ Token (Token . Type .CONTENT , "DEF" ),
135
+ Token (Token . Type .COMPONENT_SEPARATOR , ":" ),
136
+ Token (Token . Type .CONTENT , "6" ),
137
+ Token (Token . Type .TERMINATOR , "'" ),
138
138
]
139
139
140
140
@@ -167,10 +167,10 @@ def test_ignore_long_whitespace(expected_crlf):
167
167
168
168
169
169
def test_no_terminator ():
170
- with pytest .raises (EdifactSyntaxError ):
170
+ with pytest .raises (EDISyntaxError ):
171
171
list (Tokenizer ().get_tokens ("TEST" ))
172
172
173
- with pytest .raises (EdifactSyntaxError ) as excinfo :
173
+ with pytest .raises (EDISyntaxError ) as excinfo :
174
174
list (
175
175
Tokenizer ().get_tokens (
176
176
"UNB+IBMA:1+FACHARZT A+PRAKTIKER X+950402+1200+1'"
@@ -182,8 +182,8 @@ def test_no_terminator():
182
182
183
183
184
184
def test_escaped_newline_char ():
185
- with pytest .raises (EdifactSyntaxError ) as excinfo :
186
- # must raise a EdifactSyntaxError as there is no newline after an escape char
185
+ with pytest .raises (EDISyntaxError ) as excinfo :
186
+ # must raise a EDISyntaxError as there is no newline after an escape char
187
187
# "?" allowed.
188
188
list (
189
189
Tokenizer ().get_tokens (
@@ -195,8 +195,8 @@ def test_escaped_newline_char():
195
195
assert "line 0, column 5" in str (excinfo .value )
196
196
197
197
# a "\n" must do the same as a real newline
198
- with pytest .raises (EdifactSyntaxError ) as excinfo :
199
- # must raise a EdifactSyntaxError as there is no newline after an escape char
198
+ with pytest .raises (EDISyntaxError ) as excinfo :
199
+ # must raise a EDISyntaxError as there is no newline after an escape char
200
200
# "?" allowed.
201
201
list (Tokenizer ().get_tokens ("UNB+?\n FOO'" ))
202
202
assert "Newlines after escape characters are not allowed." in str (excinfo .value )
0 commit comments