Esempio n. 1
0
def test_usgs_gage_init_multiple_parameters(dates_daily):

    usgs_gage = USGSGage(
        name="USGS 03290500 KENTUCKY RIVER AT LOCK 2 AT LOCKPORT, KY",
        parameters=[
            Parameter(name="Discharge",
                      dates=dates_daily,
                      values=np.array([100, 110, 105, 107, 112]),
                      units="cubic feet per second (Mean)",
                      code="06_00060_00003"),
            Parameter(name="Stage",
                      dates=dates_daily,
                      values=np.array([10, 20, 25, 15, 5]),
                      units="feet",
                      code="03_00065")
        ])

    assert usgs_gage.name == "USGS 03290500 KENTUCKY RIVER AT LOCK 2 AT LOCKPORT, KY"
    assert len(usgs_gage.parameters) == 2
    assert usgs_gage.parameters[0].code == "06_00060_00003"
    assert usgs_gage.parameters[1].code == "03_00065"
    assert usgs_gage.parameters[0].name == "Discharge"
    assert usgs_gage.parameters[1].name == "Stage"
    assert usgs_gage.parameters[0].units == "cubic feet per second (Mean)"
    assert usgs_gage.parameters[1].units == "feet"
    assert list(usgs_gage.parameters[0].dates) == list(dates_daily)
    assert list(usgs_gage.parameters[1].dates) == list(dates_daily)
    assert list(usgs_gage.parameters[0].values) == list(
        np.array([100, 110, 105, 107, 112]))
    assert list(usgs_gage.parameters[1].values) == list(
        np.array([10, 20, 25, 15, 5]))
Esempio n. 2
0
def test_parameter_save_summary_html(dates_daily):

    parameter = Parameter(name="Discharge",
                          dates=dates_daily,
                          units="cubic feet per second (Mean)",
                          code="06_00060_00003",
                          values=np.array([1, 2, 3, 4, 5]))

    output.save_summary(data=parameter.get_summary_data(),
                        template_filename=parameter.template_html,
                        output_file="tests/parameter-summary.html")
Esempio n. 3
0
def test_print_parameter_by_not_capturing_stdout(dates_daily):

    parameter = Parameter(name = "Discharge",
                          dates = dates_daily,
                          units = "cubic feet per second (Mean)",
                          code = "06_00060_00003",
                          values = np.array([1, 2, 3, 4, 5]))

    print(parameter)
Esempio n. 4
0
def test_print_usgs_gage_by_not_capturing_stdout(dates_daily):

    usgs_gage = USGSGage(
        name="USGS 03290500 KENTUCKY RIVER AT LOCK 2 AT LOCKPORT, KY",
        parameters=[
            Parameter(name="Discharge",
                      dates=dates_daily,
                      values=np.array([1, 2, 3, 4, 5]),
                      units="cubic feet per second (Mean)",
                      code="06_00060_00003"),
            Parameter(name="Stage",
                      dates=dates_daily,
                      values=np.array([2, 4, 6, 8, 10]),
                      units="feet",
                      code="03_00065")
        ])

    print(usgs_gage)
Esempio n. 5
0
def test_save_usgs_gage_summary_html(dates_daily):
    usgs_gage = USGSGage(
        name="USGS 03290500 KENTUCKY RIVER AT LOCK 2 AT LOCKPORT, KY",
        parameters=[
            Parameter(name="Discharge",
                      dates=dates_daily,
                      values=np.array([1, 2, 3, 4, 5]),
                      units="cubic feet per second (Mean)",
                      code="06_00060_00003"),
            Parameter(name="Stage",
                      dates=dates_daily,
                      values=np.array([2, 4, 6, 8, 10]),
                      units="feet",
                      code="03_00065")
        ])

    output.save_summary(data=usgs_gage.get_summary_data(),
                        template_filename=usgs_gage.template_html,
                        output_file="tests/usgsgage-summary.html")
Esempio n. 6
0
def test_max_min_date_with_nan(dates_daily):

    parameter = Parameter(name = "Discharge",
                          dates = dates_daily,
                          units = "cubic feet per second (Mean)",
                          code = "06_00060_00003",
                          values = np.array([1, 2, np.nan, 4, 5]))

    assert parameter.max_date == datetime(2015, 8, 5, 0, 0)
    assert parameter.min_date == datetime(2015, 8, 1, 0, 0)
Esempio n. 7
0
def test_parameter_values_mean_max_min_with_nan(dates_daily):

    parameter = Parameter(name = "Discharge",
                          dates = dates_daily,
                          units = "cubic feet per second (Mean)",
                          code = "06_00060_00003",
                          values = np.array([1, 2, 3, np.nan, 12]))

    assert parameter.mean == 4.5  # sum(values)/len(values) -> 18/4 = 4.5
    assert parameter.max == 12.0
    assert parameter.min == 1.0
Esempio n. 8
0
def test_parameter_values_mean_max_min_without_nan(dates_daily):

    parameter = Parameter(name = "Discharge",
                          dates = dates_daily,
                          units = "cubic feet per second (Mean)",
                          code = "06_00060_00003",
                          values = np.array([1, 2, 3, 4, 5]))

    assert parameter.mean == 3.0
    assert parameter.max == 5.0
    assert parameter.min == 1.0
Esempio n. 9
0
def test_parameter_init(dates_daily):

    parameter = Parameter(name = "Discharge",
                          dates = dates_daily,
                          values = np.array([100, 110, 105, 107, 112]),
                          units = "cubic feet per second (Mean)",
                          code = "06_00060_00003")

    assert list(parameter.dates) == list(dates_daily)
    assert parameter.code == "06_00060_00003"
    assert parameter.name == "Discharge"
    assert parameter.units == "cubic feet per second (Mean)"
    assert list(parameter.values) == list(np.array([100, 110, 105, 107, 112]))