v / examples / pendulum-simulation / modules / sim / vec_test.v
64 lines · 59 sloc · 1.12 KB · 4391ae563dc39d894f78b7b4a9a09ba79402360c
Raw
1module sim
2
3fn test_add() {
4 v := vector(
5 x: -0.016957230930171364
6 y: -0.02937078552673521
7 z: 0.002311063475327252
8 )
9 result := v + v
10 expected := vector(
11 x: -0.03391446186034273
12 y: -0.05874157105347042
13 z: 0.004622126950654504
14 )
15 assert result == expected
16}
17
18fn test_dot() {
19 v := vector(
20 x: -0.016957230930171364
21 y: -0.02937078552673521
22 z: 0.002311063475327252
23 )
24 result := v * v
25 expected := 0.0011555317376636305
26 assert result == expected
27}
28
29fn test_scale() {
30 v := vector(
31 x: -0.016957230930171364
32 y: -0.02937078552673521
33 z: 0.002311063475327252
34 )
35 result := v.scale(2.0)
36 expected := vector(
37 x: -0.03391446186034273
38 y: -0.05874157105347042
39 z: 0.004622126950654504
40 )
41 assert result == expected
42}
43
44fn test_norm_squared() {
45 v := vector(
46 x: -0.016957230930171364
47 y: -0.02937078552673521
48 z: 0.002311063475327252
49 )
50 result := v.norm_squared()
51 expected := 0.0011555317376636305
52 assert result == expected
53}
54
55fn test_norm() {
56 v := vector(
57 x: -0.016957230930171364
58 y: -0.02937078552673521
59 z: 0.002311063475327252
60 )
61 result := v.norm()
62 expected := 0.033993113091678295
63 assert result == expected
64}
65