forked from panda3d/panda3d
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_lvector2.py
More file actions
119 lines (80 loc) · 2.8 KB
/
test_lvector2.py
File metadata and controls
119 lines (80 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
from math import floor, ceil
from panda3d.core import Vec2, Vec3, Vec4, Vec2F, Vec2D
import pytest
def test_round():
original_vector = Vec2(2.3, -2.6)
rounded_vector = round(original_vector)
assert rounded_vector.x == 2
assert rounded_vector.y == -3
def test_floor():
original_vector = Vec2(2.3, -2.6)
rounded_vector = floor(original_vector)
assert rounded_vector.x == 2
assert rounded_vector.y == -3
def test_ceil():
original_vector = Vec2(2.3, -2.6)
rounded_vector = ceil(original_vector)
assert rounded_vector.x == 3
assert rounded_vector.y == -2
def test_vec2_creation():
assert Vec2(x=1, y=2) == Vec2(1, 2) == Vec2((1, 2))
def test_vec2_getter_setter():
original_vector = Vec2(2, 3)
assert original_vector.x == 2
assert original_vector.y == 3
original_vector.x = 1
original_vector.y = 3
assert original_vector == Vec2(1, 3)
original_vector[0] = 3
original_vector[1] = 1
assert original_vector == Vec2(3, 1)
original_vector.set_x(-8)
original_vector.set_y(6)
assert original_vector.x == -8
assert original_vector.y == 6
def test_vec2_sum():
original_vector = Vec2(2, 3)
assert original_vector + original_vector == Vec2(4, 6)
assert original_vector + 3 == Vec2(5, 6)
def test_vec2_power():
assert Vec2(2, -3) ** 2 == Vec2(4, 9)
def test_vec2_len():
assert len(Vec2(2, -3)) == 2
def test_vec2_swizzle_mask():
original_vector = Vec2(3, 5)
assert original_vector.yx == Vec2(5, 3)
assert original_vector.xy == original_vector
def test_vec2_str():
assert str(Vec2F(2, 3)) == "LVector2f(2, 3)"
assert str(Vec2D(2, 3)) == "LVector2d(2, 3)"
def test_vec2_compare():
assert Vec2(1, 2).compare_to(Vec2(1, 2)) == 0
assert Vec2(1, 0).compare_to(Vec2(1, 0)) == 0
assert Vec2(1, 0).compare_to(Vec2(0, 1)) == 1
assert Vec2(0, 1).compare_to(Vec2(1, 0)) == -1
assert Vec2(0, 1).compare_to(Vec2(0, 1)) == 0
def test_vec2_nan():
nan = float("nan")
inf = float("inf")
assert not Vec2F(0, 0).is_nan()
assert not Vec2F(1, 0).is_nan()
assert Vec2F(nan, 0).is_nan()
assert Vec2F(0, nan).is_nan()
assert Vec2F(nan, nan).is_nan()
assert Vec2F(-nan, 0).is_nan()
assert Vec2F(-nan, nan).is_nan()
assert Vec2F(inf, nan).is_nan()
assert not Vec2F(inf, 0).is_nan()
assert not Vec2F(inf, inf).is_nan()
assert not Vec2F(-inf, 0).is_nan()
assert not Vec2D(0, 0).is_nan()
assert not Vec2D(1, 0).is_nan()
assert Vec2D(nan, 0).is_nan()
assert Vec2D(0, nan).is_nan()
assert Vec2D(nan, nan).is_nan()
assert Vec2D(-nan, 0).is_nan()
assert Vec2D(-nan, nan).is_nan()
assert Vec2D(inf, nan).is_nan()
assert not Vec2D(inf, 0).is_nan()
assert not Vec2D(inf, inf).is_nan()
assert not Vec2D(-inf, 0).is_nan()