;; Student 1 name
;; Student 2 name
;; Data Models and Examples of Data
;; A boa is a (make-boa symbol number symbol)
(define-struct boa (name length eats))
(make-boa 'Slinky 30 'pets)
(make-boa 'Slim 20 'mice)
;; A dillo is a (make-dillo number boolean)
(define-struct dillo (length dead?))
(make-dillo 15 true)
(make-dillo 12 false)
;; An animal is either
;; - a boa, or
;; - a dillo
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; portable? : animal number -> boolean
;; determine whether animal shorter than given length
(define (portable? an-ani len)
(cond [(boa? an-ani) (>= len (boa-length an-ani))]
[(dillo? an-ani) (>= len (dillo-length an-ani))]))
;; Test Cases
(check-expect (portable? (make-boa 'Slinky 30 'pets) 15) false)
(check-expect (portable? (make-boa 'Slinky 30 'pets) 30) true)
(check-expect (portable? (make-dillo 15 true) 10) false)
(check-expect (portable? (make-dillo 15 true) 20) true)