Carp/test/vectorn.carp

84 lines
2.6 KiB
Plaintext
Raw Normal View History

(load "Test.carp")
(load "Vector.carp")
(load "Geometry.carp")
2017-10-24 17:05:17 +03:00
(use Test)
(use VectorN)
(use Geometry)
(defn main []
(with-test test
(assert-equal test
&(init 4 [1.0 2.0 3.0 4.0]) &(init 4 [1.0 2.0 3.0 4.0])
"= operator works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
&(init 4 [1.0 2.0 3.0 4.0]) &(init 4 [1.0 1.0 3.0 4.0])
"/= operator works"
2017-11-24 19:17:49 +03:00
VectorN./=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
&(init 3 [3.0 3.0 4.5])
&(+ &(init 3 [2.0 1.0 2.0]) &(init 3 [1.0 2.0 2.5]))
"+ operator works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
&(init 3 [1.0 -1.0 -1.5])
&(- &(init 3 [2.0 1.0 2.0]) &(init 3 [1.0 2.0 3.5]))
"- operator works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
&(init 3 [4.0 2.0 2.2])
&(* &(init 3 [2.0 1.0 1.1]) 2.0)
"* operator works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
&(init 3 [1.0 0.5 0.25])
&(/ &(init 3 [2.0 1.0 0.5]) 2.0)
"/ operator works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
5.0
(mag &(init 3 [3.0 4.0 0.0]))
"mag works"
Double.=
Double.str)
(assert-equal test
101.0
(mag-sq &(init 3 [10.0 1.0 0.0]))
"mag-sq works"
Double.=
Double.str)
(assert-equal test
&(init 3 [0.6 0.8 0.0])
&(normalize &(init 3 [3.0 4.0 0.0]))
"normalize works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(assert-equal test
90.0
(radians-to-degree (angle-between &(init 3 [1.0 0.0 0.0])
&(init 3 [0.0 1.0 0.0])))
2017-10-24 17:05:17 +03:00
"angle-between works"
Double.approx
Double.str)
(assert-equal test
53.0
2017-10-24 17:05:17 +03:00
(dot &(init 3 [10.0 2.0 3.0]) &(init 3 [2.0 12.0 3.0]))
"dot works"
Double.=
Double.str)
2017-10-24 17:21:38 +03:00
(assert-equal test
&(init 1 [2.0])
&(lerp &(init 1 [0.0]) &(init 1 [5.0]) 0.4)
"lerp works"
=
VectorN.str)
2017-10-24 17:05:17 +03:00
(print-test-results test)
))