(include "#.scm")

(check-eqv? (##fleven? +inf.0) #f)
(check-eqv? (##fleven? -inf.0) #f)
(check-eqv? (##fleven? -0.0)   #t)
(check-eqv? (##fleven? 0.0)    #t)
(check-eqv? (##fleven? 1.5)    #f)
(check-eqv? (##fleven? -1.5)   #f)
(check-eqv? (##fleven? 2.0)    #t)
(check-eqv? (##fleven? -2.0)   #t)
(check-eqv? (##fleven? 3.0)    #f)
(check-eqv? (##fleven? -3.0)   #f)

(check-eqv? (fleven? +inf.0) #f)
(check-eqv? (fleven? -inf.0) #f)
(check-eqv? (fleven? -0.0)   #t)
(check-eqv? (fleven? 0.0)    #t)
(check-eqv? (fleven? 1.5)    #f)
(check-eqv? (fleven? -1.5)   #f)
(check-eqv? (fleven? 2.0)    #t)
(check-eqv? (fleven? -2.0)   #t)
(check-eqv? (fleven? 3.0)    #f)
(check-eqv? (fleven? -3.0)   #f)

(check-tail-exn wrong-number-of-arguments-exception? (lambda () (fleven?)))
(check-tail-exn wrong-number-of-arguments-exception? (lambda () (fleven? 1.0 2.0)))

(check-tail-exn type-exception? (lambda () (fleven? 1)))
(check-tail-exn type-exception? (lambda () (fleven? 1/2)))
