/trunk/Examples/test-suite/chicken/member_pointer_runme.ss
Scheme | 28 lines | 18 code | 9 blank | 1 comment | 0 complexity | 74b12d6adf6f609b8f9be25217b6dd9b MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- (require 'member_pointer)
- (define (check-eq? msg expected actual)
- (if (not (= expected actual))
- (error "Error " msg ": expected " expected " got " actual)))
- (define area-pt (areapt))
- (define perim-pt (perimeterpt))
- (define s (new-Square 10))
- (check-eq? "Square area" 100.0 (do-op s area-pt))
- (check-eq? "Square perim" 40.0 (do-op s perim-pt))
- (check-eq? "Square area" 100.0 (do-op s (areavar)))
- (check-eq? "Square perim" 40.0 (do-op s (perimetervar)))
- ;; Set areavar to return value of function
- (areavar perim-pt)
- (check-eq? "Square perim" 40 (do-op s (areavar)))
- (check-eq? "Square area" 100.0 (do-op s (AREAPT)))
- (check-eq? "Square perim" 40.0 (do-op s (PERIMPT)))
- (define test (NULLPT))
- (perimetervar (AREAPT))
- (check-eq? "Square area" 100.0 (do-op s (perimetervar)))