def test_marion_integrate_list(region, N, expected): actual = _iam.marion_integrate(_iam.ashrae, [0, 20, 30], region, N) assert_allclose(actual, expected) with np.errstate(invalid='ignore'): actual = _iam.marion_integrate(_iam.ashrae, [0, 20, np.nan], region, N) assert_allclose(actual, [expected[0], expected[1], np.nan])
def test_marion_integrate_invalid(): # check for invalid region string. this actually gets checked twice, # with the difference being whether `num` is specified or not. with pytest.raises(ValueError): _iam.marion_integrate(_iam.ashrae, 0, 'bad') with pytest.raises(ValueError): _iam.marion_integrate(_iam.ashrae, 0, 'bad', 180)
def test_marion_integrate_scalar(region, N, expected): actual = _iam.marion_integrate(_iam.ashrae, 20, region, N) assert_allclose(actual, expected) with np.errstate(invalid='ignore'): actual = _iam.marion_integrate(_iam.ashrae, np.nan, region, N) expected = np.nan assert_allclose(actual, expected)
def test_marion_integrate_series(region, N, expected): idx = pd.date_range('2019-01-01', periods=3, freq='h') tilt = pd.Series([0, 20, 30], index=idx) expected = pd.Series(expected, index=idx) actual = _iam.marion_integrate(_iam.ashrae, tilt, region, N) assert_series_equal(actual, expected) tilt.iloc[1] = np.nan expected.iloc[1] = np.nan with np.errstate(invalid='ignore'): actual = _iam.marion_integrate(_iam.ashrae, tilt, region, N) assert_allclose(actual, expected)
def test_marion_integrate_ground_flat(): iam = _iam.marion_integrate(_iam.ashrae, 0, 'horizon', 1800) assert_allclose(iam, 0)