def test_base(): v = Transform() assert type(v) == Transform v2 = Transform.from_basis_origin(Basis(), Vector3(1, 2, 3)) assert type(v) == Transform assert v2 == Transform.from_basis_origin(Basis(), Vector3(1, 2, 3)) assert v != v2
def test_methods(field, ret_type, params): v = Basis() # Don't test methods' validity but bindings one assert hasattr(v, field) method = getattr(v, field) assert callable(method) ret = method(*params) assert isinstance(ret, ret_type)
def test_properties(field, ret_type): v = Basis() assert hasattr(v, field) field_val = getattr(v, field) assert isinstance(field_val, ret_type) val = Vector3(1, 2, 3) setattr(v, field, val) field_val = getattr(v, field) assert field_val == val
def test_repr(): v = Basis(Vector3(1, 2, 3), Vector3(4, 5, 6), Vector3(7, 8, 9)) assert repr(v) == "<Basis(1, 2, 3, 4, 5, 6, 7, 8, 9)>"
def test_default(): v = Basis() assert isinstance(v, Basis) assert v.x == Vector3(1, 0, 0) assert v.y == Vector3(0, 1, 0) assert v.z == Vector3(0, 0, 1)
def test_bad_init_from_rows(args): with pytest.raises(TypeError): Basis(*args)
def test_bad_properties(field, bad_value): v = Basis() with pytest.raises(TypeError): setattr(v, field, bad_value)
def test_init_from_rows(): v = Basis(Vector3(1, 2, 3), Vector3(4, 5, 6), Vector3(7, 8, 9)) assert isinstance(v, Basis) assert (v.x, v.y, v.z) == (Vector3(1, 4, 7), Vector3(2, 5, 8), Vector3(3, 6, 9))
import pytest from godot import Basis, Quat, Vector3 def test_base(): v = Quat() assert type(v) == Quat @pytest.mark.parametrize( "field,args", [ ["from_axis_angle", (Vector3.ONE, 1.1)], ["from_euler", (Vector3.ONE,)], ["from_basis", (Basis(),)], ], ) def test_inits(field, args): build = getattr(Quat, field) v = build(*args) assert isinstance(v, Quat) @pytest.mark.parametrize( "field,args", [ ["from_axis_angle", (None, 1.1)], ["from_euler", (None,)], ["from_basis", (None,)], ["from_axis_angle", (Vector3.ONE, None)],