Test output for yasos [ok]
Testing time: 0s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null ;;; BEGIN "yasos" TESTS ;; 1. Size of 2D point (size-obj p2) ;; ==> 2 ;; Passed. ;; 2. Size of 3D point (size-obj p3) ;; ==> 3 ;; Passed. ;; 3. A symbol is not an instance (with-output-to-string (lambda () (print-obj (quote mist) #t))) ;; ==> "#<NOT-AN-INSTANCE: mist>\n" ;; Passed. ;; 4. A 2D point is an instance of <point> (with-output-to-string (lambda () (print-obj p2 #t))) ;; ==> "#<point: 1 2>\n" ;; Passed. ;; 5. A 2D point is a recognized as point (point? p2) ;; ==> #t ;; Passed. ;; 6. A 2D point is not recognized as a 3D point (point-3d? p2) ;; ==> #f ;; Passed. ;; 7. A 3D point is an instance of <3d-point> (with-output-to-string (lambda () (print-obj p3 #t))) ;; ==> "#<3d-point: 4 5 6>\n" ;; Passed. ;; 8. A 3D point is recognized as a point (point? p3) ;; ==> #t ;; Passed. ;; 9. A 3D point is recognized as a 3D point (point-3d? p3) ;; ==> #t ;; Passed. ;; 10. Print an instance of <person> (with-output-to-string (lambda () (print-obj fred #t))) ;; ==> "#<Person: Fred age: 19>\n" ;; Passed. ;; 11. Access ssn attribute of <person> (ssn fred (quote FadeCafe)) ;; ==> "573-19-4279" ;; Passed. ;; 12. Instance of <person> recognized as such (person? fred) ;; ==> #t ;; Passed. ;; 13. Instance of <person> not recognized as instance of <bank-account> (bank-account? fred) ;; ==> #f ;; Passed. ;; 14. Print an instance of <bank-account> (with-output-to-string (lambda () (print-obj sally #t))) ;; ==> "#<Bank-Customer Sally>\n" ;; Passed. ;; 15. Access ssn attribute of <bank-account> (ssn sally (quote FeedBabe)) ;; ==> "629-26-9742" ;; Passed. ;; 16. Instance of <bank-account> recognized as instance of <person> (person? sally) ;; ==> #t ;; Passed. ;; 17. Instance of <bank-account> recognized as such (bank-account? sally) ;; ==> #t ;; Passed. ;; 18. Current balance (with-output-to-string (lambda () (current-balance sally (quote FeedBabe)))) ;; ==> "Your Balance is $263\n" ;; Passed. ;; 19. Add 200 to balance, then another 300, then withdraw 400 (begin (with-output-to-string (lambda () (add sally 200))) (with-output-to-string (lambda () (add sally 300))) (with-output-to-string (lambda () (withdraw sally 400 (quote FeedBabe)))) (with-output-to-string (lambda () (current-balance sally (quote FeedBabe))))) ;; ==> "Your Balance is $363\n" ;; Passed. ;; 20. Account history (get-account-history sally (quote bank-password)) ;; ==> (363 763 463 263) ;; Passed. ;; 21. Withdrawal with bank password (with-output-to-string (lambda () (withdraw sally 150 (get-pin sally (quote bank-password))))) ;; ==> "New balance: $213\n" ;; Passed. ;; 22. Account history after withdrawal with bank password (get-account-history sally (quote bank-password)) ;; ==> (213 363 763 463 263) ;; Passed. ;; 23. Bogus password (with-output-to-string (lambda () (ssn fred (quote bogus)))) ;; ==> "Bad password: bogus\n" ;; Passed. ;;; END "yasos" TESTS: PASSED ;;; (Total: 23 Passed: 23 Failed: 0)