Exemplo n.º 1
0
def test_Vec2_subtraction_operator():
    components1 = np.random.rand(2)
    components2 = np.random.rand(2)
    vec2_1py = vectormath.Vector2(*components1)
    vec2_2py = vectormath.Vector2(*components2)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_2cpp = NumCpp.Vec2(*components2)
    assert np.array_equal(
        np.round(vec2_1py - vec2_2py, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec2_minusVec2(vec2_1cpp,
                                        vec2_2cpp)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))

    components = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert np.array_equal(
        np.round(vec2py - scaler, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec2_minusVec2Scaler(vec2cpp,
                                              scaler)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))

    components = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert np.array_equal(
        np.round(-vec2py + scaler, DECIMALS_TO_ROUND),
        np.round((NumCpp.Vec2_minusScalerVec2(vec2cpp,
                                              scaler)).toNdArray().flatten(),
                 DECIMALS_TO_ROUND))
Exemplo n.º 2
0
def test_Vec2_distance():
    components1 = np.random.rand(2)
    components2 = np.random.rand(2)
    vec2_1py = vectormath.Vector2(*components1)
    vec2_2py = vectormath.Vector2(*components2)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_2cpp = NumCpp.Vec2(*components2)
    assert round((vec2_2py - vec2_1py).length, DECIMALS_TO_ROUND) == \
        round(vec2_1cpp.distance(vec2_2cpp), DECIMALS_TO_ROUND)
Exemplo n.º 3
0
def test_Vec2_angle():
    components1 = np.random.rand(2)
    components2 = np.random.rand(2)
    vec2_1py = vectormath.Vector2(*components1)
    vec2_2py = vectormath.Vector2(*components2)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_2cpp = NumCpp.Vec2(*components2)
    assert round(vec2_1py.angle(vec2_2py), DECIMALS_TO_ROUND) == \
        round(vec2_1cpp.angle(vec2_2cpp), DECIMALS_TO_ROUND)
Exemplo n.º 4
0
def test_Vec2_clampMagnitude():
    components = np.random.rand(2) + 10
    clampMag = np.random.randint(1, 10, [1, ]).item()
    vec2 = NumCpp.Vec2(*components)
    clampedVec = vec2.clampMagnitude(float(clampMag))
    assert np.round(clampedVec.norm(), DECIMALS_TO_ROUND) == clampMag
    assert np.round(vec2.dot(clampedVec) / vec2.norm() / clampedVec.norm(), DECIMALS_TO_ROUND) == 1
Exemplo n.º 5
0
def test_Vec2_normalize():
    components = np.random.rand(2)
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert np.array_equal(
        np.round(vec2py.normalize(), DECIMALS_TO_ROUND),
        np.round(vec2cpp.normalize().toNdArray().flatten(), DECIMALS_TO_ROUND))
Exemplo n.º 6
0
def test_Vec2_multiplication_operator():
    components = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert np.array_equal(np.round(vec2py * scaler, DECIMALS_TO_ROUND),
                          np.round((NumCpp.Vec2_multVec2Scaler(vec2cpp, scaler)).toNdArray().flatten(),
                                   DECIMALS_TO_ROUND))

    components = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert np.array_equal(np.round(vec2py * scaler, DECIMALS_TO_ROUND),
                          np.round((NumCpp.Vec2_multScalerVec2(vec2cpp, scaler)).toNdArray().flatten(),
                                   DECIMALS_TO_ROUND))
Exemplo n.º 7
0
def test_Vec2_array_constructor():
    components = np.random.rand(2)
    shape = NumCpp.Shape(1, 2)
    cArray = NumCpp.NdArray(shape)
    cArray.setArray(components)
    vec2 = NumCpp.Vec2(cArray)
    assert vec2.x == components[0].item()
    assert vec2.y == components[1].item()
Exemplo n.º 8
0
def test_Vec2_division_assignment_operator():
    components1 = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2_1py = vectormath.Vector2(*components1)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_1cpp /= scaler
    assert np.array_equal(np.round(vec2_1py / scaler, DECIMALS_TO_ROUND),
                          np.round(vec2_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))
Exemplo n.º 9
0
def test_Vec2_subtraction_assignment_operator():
    components1 = np.random.rand(2)
    components2 = np.random.rand(2)
    vec2_1py = vectormath.Vector2(*components1)
    vec2_2py = vectormath.Vector2(*components2)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_2cpp = NumCpp.Vec2(*components2)
    vec2_1cpp -= vec2_2cpp
    assert np.array_equal(np.round(vec2_1py - vec2_2py, DECIMALS_TO_ROUND),
                          np.round(vec2_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))

    components1 = np.random.rand(2)
    scaler = np.random.rand(1).item()
    vec2_1py = vectormath.Vector2(*components1)
    vec2_1cpp = NumCpp.Vec2(*components1)
    vec2_1cpp -= scaler
    assert np.array_equal(np.round(vec2_1py - scaler, DECIMALS_TO_ROUND),
                          np.round(vec2_1cpp.toNdArray().flatten(), DECIMALS_TO_ROUND))
Exemplo n.º 10
0
def test_Vec2_print():
    components = np.random.rand(2)
    vec2cpp = NumCpp.Vec2(*components)
    NumCpp.Vec2_print(vec2cpp)
Exemplo n.º 11
0
def test_Vec2_component_constructor():
    components = np.random.rand(2)
    vec2 = NumCpp.Vec2(*components)
    assert vec2.x == components[0].item()
    assert vec2.y == components[1].item()
Exemplo n.º 12
0
def test_Vec2_equality_operator():
    components = np.random.rand(2)
    vec2_1cpp = NumCpp.Vec2(*components)
    vec2_2cpp = NumCpp.Vec2(*components)
    assert vec2_1cpp == vec2_2cpp
    assert not (vec2_1cpp != vec2_2cpp)
Exemplo n.º 13
0
def test_Vec2_norm():
    components = np.random.rand(2)
    vec2py = vectormath.Vector2(*components)
    vec2cpp = NumCpp.Vec2(*components)
    assert round(vec2py.length, DECIMALS_TO_ROUND) == \
        round(vec2cpp.norm(), DECIMALS_TO_ROUND)
Exemplo n.º 14
0
def test_Vec2_default_constructor():
    assert NumCpp.Vec2()