(begin-tests!) ; The basic tests (test! (classify-triangle 1 1 1) 'equilateral) (test! (classify-triangle 2 2 3) 'isoceles) (test! (classify-triangle 3 4 5) 'scalene) ; Triangle validation (test-error! (classify-triangle 1 1 3)) ; Valid side validation (test-error! (classify-triangle 0 1 1)) (test-error! (classify-triangle 1 0 1)) (test-error! (classify-triangle 1 1 0)) ; Isoceles tests (test! (classify-triangle 2 2 3) 'isoceles) (test! (classify-triangle 2 3 2) 'isoceles) (test! (classify-triangle 3 2 2) 'isoceles) ; Better triangle validation (test-error! (classify-triangle 1 1 3)) (test-error! (classify-triangle 1 3 1)) (test-error! (classify-triangle 3 1 1)) ; Large values (test! (classify-triangle 10000000000 10000000000 10000000000) 'equilateral) ; Small values ;(test! (classify-triangle 1/2 1/2 1/2) 'equilateral) ;(test! (classify-triangle 2/5 2/5 3/5) 'isoceles) ;(test! (classify-triangle 3/7 4/7 5/7) 'scalene) ;(test-error! (classify-triangle 1/6 1/6 1/2)) ; Tonys test (classify-triangle 1.0 1.0 1/9999999999999999) (end-tests!)