1
+ import pytest
1
2
import unittest
2
3
from ometa .runtime import OMetaBase , ParseError , expected , eof
3
4
@@ -53,10 +54,10 @@ def test_exactlyFail(self):
53
54
54
55
data = "foo"
55
56
o = OMetaBase (data )
56
- with self . assertRaises (ParseError ) as e :
57
+ with pytest . raises (ParseError ) as e :
57
58
o .rule_exactly ("g" )
58
- self .assertEquals (e .exception [1 ], expected (None , "g" ))
59
- self .assertEquals (e .exception [0 ], 0 )
59
+ self .assertEquals (e .value [1 ], expected (None , "g" ))
60
+ self .assertEquals (e .value [0 ], 0 )
60
61
61
62
62
63
@@ -83,10 +84,10 @@ def test_tokenFailed(self):
83
84
"""
84
85
data = "foozle"
85
86
o = OMetaBase (data )
86
- with self . assertRaises (ParseError ) as e :
87
+ with pytest . raises (ParseError ) as e :
87
88
o .rule_token ("fog" )
88
- self .assertEqual (e .exception [0 ], 2 )
89
- self .assertEqual (e .exception [1 ], expected ("token" , "fog" ))
89
+ self .assertEqual (e .value [0 ], 2 )
90
+ self .assertEqual (e .value [1 ], expected ("token" , "fog" ))
90
91
91
92
92
93
def test_many (self ):
@@ -135,12 +136,12 @@ def test_orSimpleFailure(self):
135
136
data = "foozle"
136
137
o = OMetaBase (data )
137
138
138
- with self . assertRaises (ParseError ) as e :
139
+ with pytest . raises (ParseError ) as e :
139
140
o ._or ([lambda : o .token ("fog" ),
140
141
lambda : o .token ("foozik" ),
141
142
lambda : o .token ("woozle" )])
142
- self .assertEqual (e .exception [0 ], 4 )
143
- self .assertEqual (e .exception [1 ], expected ("token" , "foozik" ))
143
+ self .assertEqual (e .value [0 ], 4 )
144
+ self .assertEqual (e .value [1 ], expected ("token" , "foozik" ))
144
145
145
146
146
147
def test_orFalseSuccess (self ):
@@ -183,10 +184,10 @@ def test_notError(self):
183
184
184
185
data = "xy"
185
186
o = OMetaBase (data )
186
- with self . assertRaises (ParseError ) as e :
187
+ with pytest . raises (ParseError ) as e :
187
188
o ._not (lambda : o .exactly ("x" ))
188
- self .assertEqual (e .exception [0 ], 1 )
189
- self .assertEqual (e .exception [1 ], None )
189
+ self .assertEqual (e .value [0 ], 1 )
190
+ self .assertEqual (e .value [1 ], None )
190
191
191
192
192
193
def test_spaces (self ):
@@ -216,9 +217,9 @@ def test_predFailure(self):
216
217
"""
217
218
218
219
o = OMetaBase ("" )
219
- with self . assertRaises (ParseError ) as e :
220
+ with pytest . raises (ParseError ) as e :
220
221
o .pred (lambda : (False , ParseError (o .input , 0 , None )))
221
- self .assertEqual (e .exception , ParseError (o .input , 0 , None ))
222
+ self .assertEqual (e .value , ParseError (o .input , 0 , None ))
222
223
223
224
224
225
def test_end (self ):
@@ -227,9 +228,9 @@ def test_end(self):
227
228
if input is left.
228
229
"""
229
230
o = OMetaBase ("abc" )
230
- with self . assertRaises (ParseError ) as e :
231
+ with pytest . raises (ParseError ) as e :
231
232
o .rule_end ()
232
- self .assertEqual (e .exception , ParseError (o .input , 1 , None ))
233
+ self .assertEqual (e .value , ParseError (o .input , 1 , None ))
233
234
o .many (o .rule_anything )
234
235
self .assertEqual (o .rule_end (), (True , ParseError ("abc" , 3 , None )))
235
236
@@ -242,9 +243,9 @@ def test_label(self):
242
243
data = "ooops"
243
244
label = 'CustomLabel'
244
245
o = OMetaBase (data )
245
- with self . assertRaises (ParseError ) as e :
246
+ with pytest . raises (ParseError ) as e :
246
247
o .label (lambda : o .rule_exactly ('x' ), label )
247
- self .assertEqual (e .exception ,
248
+ self .assertEqual (e .value ,
248
249
ParseError (o .input , 0 , expected (label )).withMessage ([("Custom Exception:" , label , None )]))
249
250
250
251
def test_letter (self ):
@@ -254,9 +255,9 @@ def test_letter(self):
254
255
o = OMetaBase ("a1" )
255
256
v , e = o .rule_letter ()
256
257
self .assertEqual ((v , e ), ("a" , ParseError (o .input , 0 , None )))
257
- with self . assertRaises (ParseError ) as e :
258
+ with pytest . raises (ParseError ) as e :
258
259
o .rule_letter ()
259
- self .assertEqual (e .exception , ParseError (o .input , 1 ,
260
+ self .assertEqual (e .value , ParseError (o .input , 1 ,
260
261
expected ("letter" )))
261
262
262
263
@@ -269,9 +270,9 @@ def test_letterOrDigit(self):
269
270
self .assertEqual ((v , e ), ("a" , ParseError (None , 0 , None )))
270
271
v , e = o .rule_letterOrDigit ()
271
272
self .assertEqual ((v , e ), ("1" , ParseError (None , 1 , None )))
272
- with self . assertRaises (ParseError ) as e :
273
+ with pytest . raises (ParseError ) as e :
273
274
o .rule_letterOrDigit ()
274
- self .assertEqual (e .exception ,
275
+ self .assertEqual (e .value ,
275
276
ParseError (o .input , 2 , expected ("letter or digit" )))
276
277
277
278
@@ -282,9 +283,9 @@ def test_digit(self):
282
283
o = OMetaBase ("1a" )
283
284
v , e = o .rule_digit ()
284
285
self .assertEqual ((v , e ), ("1" , ParseError ("1a" , 0 , None )))
285
- with self . assertRaises (ParseError ) as e :
286
+ with pytest . raises (ParseError ) as e :
286
287
o .rule_digit ()
287
- self .assertEqual (e .exception , ParseError (o .input , 1 , expected ("digit" )))
288
+ self .assertEqual (e .value , ParseError (o .input , 1 , expected ("digit" )))
288
289
289
290
290
291
0 commit comments