def test_martin_ruiz(): aoi = 45. a_r = 0.16 expected = 0.98986965 # will fail if default values change iam = _iam.martin_ruiz(aoi) assert_allclose(iam, expected) # will fail if parameter names change iam = _iam.martin_ruiz(aoi=aoi, a_r=a_r) assert_allclose(iam, expected) a_r = 0.18 aoi = [-100, -60, 0, 60, 100, np.nan, np.inf] expected = [0.0, 0.9414631, 1.0, 0.9414631, 0.0, np.nan, 0.0] # check out of range of inputs as list iam = _iam.martin_ruiz(aoi, a_r) assert_allclose(iam, expected, equal_nan=True) # check out of range of inputs as array iam = _iam.martin_ruiz(np.array(aoi), a_r) assert_allclose(iam, expected, equal_nan=True) # check out of range of inputs as Series aoi = pd.Series(aoi) expected = pd.Series(expected) iam = _iam.martin_ruiz(aoi, a_r) assert_series_equal(iam, expected)
def test_martin_ruiz_exception(): with pytest.raises(ValueError): _iam.martin_ruiz(0.0, a_r=0.0)