Exemplo n.º 1
0
def test_properties(wind_circ):
    """
    test setting the properties of the object
    """
    wm = WindMover(wind_circ['wind'])

    wm.uncertain_duration = 1
    wm.uncertain_time_delay = 2
    wm.uncertain_speed_scale = 3
    wm.set_uncertain_angle(4, 'deg')

    assert wm.uncertain_duration == 1
    assert wm.uncertain_time_delay == 2
    assert wm.uncertain_speed_scale == 3
    assert wm.uncertain_angle_scale == 4
    assert wm.uncertain_angle_units == 'deg'

    wm.set_uncertain_angle(.04, 'rad')
    assert wm.uncertain_angle_scale == 0.04
    assert wm.uncertain_angle_units == 'rad'
Exemplo n.º 2
0
def test_exceptions():
    """
    Test ValueError exception thrown if improper input arguments
    """
    with pytest.raises(TypeError):
        WindMover()

    with pytest.raises(ValueError):
        WindMover(environment.Wind(filename=file_),
                  uncertain_angle_units='xyz')

    with pytest.raises(ValueError):
        wm = WindMover(environment.Wind(filename=file_))
        wm.set_uncertain_angle(.4, 'xyz')

    with pytest.raises(TypeError):
        """
        violates duck typing so may want to remove. Though current WindMover's
        backend cython object looks for C++ OSSM object which is embedded in
        environment.Wind object which is why this check was enforced. Can be
        re-evaluated if there is a need.
        """
        WindMover(wind=10)