Skip to content

Commit

Permalink
add tests for testDoWhileFalse: and testDoWhileTrue:
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-krivanek committed Apr 27, 2024
1 parent 8cc083e commit 5e8ff3e
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/Kernel-Tests/BlockClosureTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,44 @@ BlockClosureTest >> testCullCullCullCull [
equals: 4
]

{ #category : 'tests - loops' }
BlockClosureTest >> testDoWhileFalse [

| result number |

number := 1.
result := [ number := number + 1. number * 2 ] doWhileFalse: [ number > 5 ].
self assert: number equals: 6.
self assert: result equals: 12.

number := 1.
result := [ number := number + 1. number * 2 ] doWhileFalse: [ number < 5 ].
self assert: number equals: 2.
self assert: result equals: 4.

result := [ ] doWhileFalse: [ true ].
self assert: result equals: nil
]

{ #category : 'tests - loops' }
BlockClosureTest >> testDoWhileTrue [

| result number |

number := 1.
result := [ number := number + 1. number * 2 ] doWhileTrue: [ number < 5 ].
self assert: number equals: 5.
self assert: result equals: 10.

number := 1.
result := [ number := number + 1. number * 2 ] doWhileTrue: [ number > 5 ].
self assert: number equals: 2.
self assert: result equals: 4.

result := [ ] doWhileTrue: [ false ].
self assert: result equals: nil
]

{ #category : 'tests - evaluating' }
BlockClosureTest >> testHasNonLocalReturn [

Expand Down

0 comments on commit 5e8ff3e

Please sign in to comment.