--- a/tests/PPLambdaParserTest.st Fri Oct 03 01:59:10 2014 +0100
+++ b/tests/PPLambdaParserTest.st Fri Oct 03 02:33:08 2014 +0100
@@ -37,60 +37,55 @@
!PPLambdaParserTest methodsFor:'testing-curch'!
testAnd
- self assert: self parserClass and = #('p' ('q' (('p' 'q') 'p')))
+ self assert: self parserClass and equals: #('p' #('q' #(#('p' 'q') 'p')))
!
testFalse
- self assert: self parserClass false = #('x' ('y' 'y'))
+ self assert: self parserClass false equals: #('x' #('y' 'y'))
!
testIfThenElse
- self assert: self parserClass ifthenelse = #('p' 'p')
+ self assert: self parserClass ifthenelse equals: #('p' 'p')
!
testNot
- self assert: self parserClass not = #('p' ('a' ('b' (('p' 'b') 'a'))))
+ self assert: self parserClass not equals: #('p' #('a' #('b' #(#('p' 'b') 'a'))))
!
testOr
- self assert: self parserClass or = #('p' ('q' (('p' 'p') 'q')))
+ self assert: self parserClass or equals: #('p' #('q' #(#('p' 'p') 'q')))
!
testTrue
- self assert: self parserClass true = #('x' ('y' 'x'))
+ self assert: self parserClass true equals: #('x' #('y' 'x'))
! !
!PPLambdaParserTest methodsFor:'testing-utilities'!
testParseOnError
| beenHere |
- result := self parserClass
- parse: '\x.y'
- onError: [ self fail ].
- self assert: result = #('x' 'y').
-
+ result := self parserClass parse: '\x.y' onError: [ self fail ].
+ self assert: result equals: #('x' 'y').
+ beenHere := false.
+ result := self parserClass parse: '\x.' onError: [ beenHere := true ].
+ self assert: beenHere.
beenHere := false.
result := self parserClass
parse: '\x.'
- onError: [ beenHere := true ].
+ onError: [ :fail |
+ beenHere := true.
+ fail ].
self assert: beenHere.
-
- beenHere := false.
- result := self parserClass
- parse: '\x.'
- onError: [ :fail | beenHere := true. fail ].
- self assert: beenHere.
- self assert: (result message findString: '$(') > 0.
- self assert: (result message findString: 'expected') > 0.
- self assert: (result position = 0).
-
+ self assert: (result message includesSubstring: 'separator').
+ self assert: (result message includesSubstring: 'expected').
+ self assert: result position equals: 3.
beenHere := false.
result := self parserClass
parse: '\x.'
onError: [ :msg :pos |
- self assert: (msg findString: '$(') > 0.
- self assert: (msg findString: 'expected') > 0.
- self assert: (pos = 0).
+ self assert: (msg includesSubstring: 'separator').
+ self assert: (msg includesSubstring: 'expected').
+ self assert: pos equals: 3.
beenHere := true ].
self assert: result.
self assert: beenHere
@@ -98,35 +93,28 @@
testParseStartingAtOnError
| beenHere |
- result := self parserClass
- parse: 'x'
- startingAt: #variable
- onError: [ self fail ].
- self assert: result = 'x'.
-
+ result := self parserClass parse: 'x' startingAt: #variable onError: [ self fail ].
+ self assert: result equals: 'x'.
+ beenHere := false.
+ result := self parserClass parse: '\' startingAt: #variable onError: [ beenHere := true ].
+ self assert: beenHere.
beenHere := false.
result := self parserClass
parse: '\'
startingAt: #variable
- onError: [ beenHere := true ].
+ onError: [ :fail |
+ beenHere := true.
+ fail ].
self assert: beenHere.
-
- beenHere := false.
- result := self parserClass
- parse: '\'
- startingAt: #variable
- onError: [ :fail | beenHere := true. fail ].
- self assert: beenHere.
- self assert: result message = 'letter expected'.
- self assert: result position = 0.
-
+ self assert: result message equals: 'separator expected'.
+ self assert: result position equals: 0.
beenHere := false.
result := self parserClass
parse: '\'
startingAt: #variable
onError: [ :msg :pos |
- self assert: msg = 'letter expected'.
- self assert: pos = 0.
+ self assert: msg equals: 'separator expected'.
+ self assert: pos equals: 0.
beenHere := true ].
self assert: beenHere
!