Test output for yasos

Testing time: 3.0s

CHICKEN_INSTALL_PREFIX=/root/src/salmonella/salmonella-4.5.0/repo CHICKEN_INCLUDE_PATH=/root/src/salmonella/salmonella-4.5.0/repo/share/chicken CHICKEN_REPOSITORY=/root/src/salmonella/salmonella-4.5.0/repo/lib/chicken/5 /usr/local/chicken-4.5.0/bin/csi -script run.scm

;;; 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)