(make-polar, magnitude): New tests.
authorKevin Ryde <user42@zip.com.au>
Tue, 8 Jul 2003 00:32:01 +0000 (00:32 +0000)
committerKevin Ryde <user42@zip.com.au>
Tue, 8 Jul 2003 00:32:01 +0000 (00:32 +0000)
test-suite/tests/numbers.test

index 86a6427..1951942 100644 (file)
 ;;; make-polar
 ;;;
 
+(with-test-prefix "make-polar"
+  (define pi 3.14159265358979323846)
+  (define (almost= x y)
+    (> 0.01 (magnitude (- x y))))
+  
+  (pass-if (= 0 (make-polar 0 0)))
+  (pass-if (= 0 (make-polar 0 123.456)))
+  (pass-if (= 1 (make-polar 1 0)))
+  (pass-if (= -1 (make-polar -1 0)))
+  
+  (pass-if (almost= 0+i (make-polar 1 (* 0.5 pi))))
+  (pass-if (almost= -1  (make-polar 1 (* 1.0 pi))))
+  (pass-if (almost= 0-i (make-polar 1 (* 1.5 pi))))
+  (pass-if (almost= 1   (make-polar 1 (* 2.0 pi)))))
+
 ;;;
 ;;; real-part
 ;;;
 ;;; magnitude
 ;;;
 
+(with-test-prefix "magnitude"
+  (pass-if (= 0 (magnitude 0)))
+  (pass-if (= 1 (magnitude 1)))
+  (pass-if (= 1 (magnitude -1)))
+  (pass-if (= 1 (magnitude 0+i)))
+  (pass-if (= 1 (magnitude 0-i)))
+  (pass-if (= 5 (magnitude 3+4i)))
+  (pass-if (= 5 (magnitude 3-4i)))
+  (pass-if (= 5 (magnitude -3+4i)))
+  (pass-if (= 5 (magnitude -3-4i))))
+
 ;;;
 ;;; angle
 ;;;