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'
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)