Beispiel #1
0
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])
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
def test_marion_integrate_ground_flat():
    iam = _iam.marion_integrate(_iam.ashrae, 0, 'horizon', 1800)
    assert_allclose(iam, 0)