Ejemplo n.º 1
0
def test_categorize_columns():
    csvdata = StringIO(
        dedent("""\
        parameter,units,season,lower,NSQD Median,upper
        Cadmium (Cd),ug/L,autumn,0.117,0.361,0.52
        Cadmium (Cd),ug/L,spring,0.172,0.352,0.53
        Cadmium (Cd),ug/L,summer,0.304,0.411,0.476
        Cadmium (Cd),ug/L,winter,0.355,0.559,1.125
        Dissolved Chloride (Cl),mg/L,autumn,0.342,2.3,5.8
        Dissolved Chloride (Cl),mg/L,spring,2.5,2.5,2.5
        Dissolved Chloride (Cl),mg/L,summer,0.308,0.762,1.24
        Escherichia coli,MPN/100 mL,autumn,1200.0,15500.0,24000.0
        Escherichia coli,MPN/100 mL,spring,10.0,630.0,810.0
        Escherichia coli,MPN/100 mL,summer,21000.0,27000.0,35000.0
        Escherichia coli,MPN/100 mL,winter,20.0,200.0,800.0
    """))
    df = pandas.read_csv(csvdata)
    df2 = misc.categorize_columns(df, "parameter", "units", "season")

    # check pandas API that the first df has object columns
    assert object in df.dtypes.values

    # confirm that all of those objects are gone
    assert object not in df2.dtypes.values

    with helpers.raises(ValueError):
        misc.categorize_columns(df, "parameter", "upper")
Ejemplo n.º 2
0
def test_getStormFromTimestamp_(hr_simple_fixture, value, smallstorms, error):
    with helpers.raises(error):
        sn, storm = hr_simple_fixture.getStormFromTimestamp(
            value, smallstorms=smallstorms)
        assert sn == 2
        if not smallstorms:
            assert storm is None
        else:
            assert isinstance(storm, hydro.Storm)
Ejemplo n.º 3
0
def test__find_by_name(value, expected, error):
    source = [
        {"name": "MPN/100 mL", "factor": 1},
        {"name": "MPN/100 mL", "factor": 1},
        {"name": "ug/L", "factor": 1},
    ]
    with helpers.raises(error):
        result = info._find_by_name(value, source)
        assert result == expected
Ejemplo n.º 4
0
def test_add_column_level(basic_data):
    known_cols = pandas.MultiIndex.from_tuples([
        (u"test", u"A"), (u"test", u"B"), (u"test", u"C"), (u"test", u"D")
    ])
    newdata = misc.add_column_level(basic_data, "test", "testlevel")
    assert known_cols.tolist() == newdata.columns.tolist()

    # can only add levels to non-MultiIndex columns
    with helpers.raises(ValueError):
        misc.add_column_level(newdata, "test2", "testlevel2")
Ejemplo n.º 5
0
def test_getStormFromTimestamp_lookback(hr_simple_fixture, lbh, expected,
                                        error):
    with helpers.raises(error):
        ts = pandas.Timestamp("2013-05-19 14:42")
        sn, storm = hr_simple_fixture.getStormFromTimestamp(ts,
                                                            lookback_hours=lbh)
        if expected:
            assert sn == expected
        else:
            assert sn is None
Ejemplo n.º 6
0
def test_makeTimestamp_basic(row, expected, error):
    with warnings.catch_warnings(), helpers.raises(error):
        warnings.simplefilter("always")
        tstamp = dateutils.makeTimestamp(row)
        assert tstamp == pandas.Timestamp(expected)
Ejemplo n.º 7
0
def test_ds_scatterplot_useros(ds_NDs):
    with helpers.raises(ValueError):
        ds_NDs.scatterplot(useros=True)
Ejemplo n.º 8
0
def test_theilslopes(dc):
    with helpers.raises(NotImplementedError):
        _ = dc.theilslopes
Ejemplo n.º 9
0
def test_anderson_darling_log(dc):
    with helpers.raises(NotImplementedError):
        _ = dc.anderson_darling_log
Ejemplo n.º 10
0
def test__detection_limit_index_out_of_bounds(basic_cohn):
    with helpers.raises(IndexError):
        ros._detection_limit_index(0, basic_cohn)