Пример #1
0
    def test_polar(self):
        r, t = Vec2(1, 1).polar()
        assert simeq(r, sqrt(2))
        assert simeq(t, 45)

        r, t = Vec2(1, 1).polar_rad()
        assert simeq(r, sqrt(2))
        assert simeq(t, pi / 4)
Пример #2
0
 def test_tuple_promotion_on_arithmetic_operations(self):
     u = Vec2(1, 2)
     v = (0.0, 0.0)
     assert u + v == u
     assert u - v == u
     assert isinstance(u + v, Vec2)
     assert isinstance(u - v, Vec2)
Пример #3
0
 def test_clamp(sef):
     u = Vec2(3, 4)
     assert u.clamp(1, 10) == u
     assert u.clamp(2, 4) == u.normalize() * 4
     assert u.with_length(10) == 2 * u
Пример #4
0
 def test_reverse_vec_equality_with_tuples(self):
     assert (1, 2) == Vec2(1, 2)
     assert (1.0, 2.0) == Vec2(1, 2)
Пример #5
0
 def test_vec_equality_with_tuples(self):
     assert Vec2(1, 2) == (1, 2)
     assert Vec2(1, 2) == (1.0, 2.0)
Пример #6
0
 def test_vec_equality(self):
     assert Vec2(1, 2) == Vec2(1, 2)
     assert Vec2(1, 2) == Vec2(1.0, 2.0)
Пример #7
0
 def test_correct_type_promotion_on_vec_creation(self):
     assert isinstance(Vec2(1.0, 2.0), Vec2)
     assert isinstance(Vec2(1, 2.0), Vec2)
     assert isinstance(Vec2(1.0, 2), Vec2)
Пример #8
0
 def test_triangular_identity_2D(self):
     self.assert_triangular_identity(Vec2(1, 2), Vec2(3, 4))
     self.assert_triangular_identity(Vec2(1, 1), Vec2(1, 1))
     self.assert_triangular_identity(Vec2(1, 2), Vec2(0, 0))
Пример #9
0
 def test_perp(self):
     assert Vec2(1, 0).perpendicular() == Vec2(0, 1)
     assert Vec2(1, 0).perpendicular(ccw=False) == Vec2(0, -1)
Пример #10
0
 def test_cross(self):
     assert Vec2(1, 0).cross(Vec2(0, 1)) == 1
Пример #11
0
 def test_rotations(self):
     v = Vec2(1, 0)
     assert v.rotate(90) == Vec2(0, 1)
     assert v.rotate_around(90, Vec2(1, 0)) == v
     assert simeq(v.rotate_rad(pi / 2), Vec2(0, 1))
     assert simeq(v.rotate_around_rad(pi / 2, Vec2(1, 0)), v)
Пример #12
0
 def test_polar_coordinates(self):
     assert Vec2.from_polar(1, 0) == Vec2(1, 0)
Пример #13
0
 def test_vector_repr(self):
     assert repr(Vec2(1, 2)) == 'Vec2(1, 2)'
     assert repr(Vec2(0.5, 0.5)) == 'Vec2(0.5, 0.5)'