def test_data_file_bad_single_parameter(): dates = np.array([datetime.datetime(2014, 04, 01, 0, 0), datetime.datetime(2014, 04, 02, 0, 0), datetime.datetime(2014, 04, 03, 0, 0), datetime.datetime(2014, 04, 04, 0, 0), datetime.datetime(2014, 04, 05, 0, 0), ]) discharge_data = np.array([5.0, 10.0, np.nan, np.nan, 5.5]) subsurface_data = np.array([50, 55, 60, 65, 45]) expected = { "user": "******", "date_created": "4/10/2014 00:00:00 PM", "stationid": "000000", "column_names": ['Discharge (cfs)', 'Subsurface Flow (mm/day)'], "dates": dates, "parameters": [ {"name": "Discharge (cfs)", "index": 0, "data": discharge_data, "mean": np.nanmean(discharge_data), "max": np.nanmax(discharge_data), "min": np.nanmin(discharge_data) }, {"name": "Subsurface Flow (mm/day)", "index": 1, "data": subsurface_data, "mean": np.nanmean(subsurface_data), "max": np.nanmax(subsurface_data), "min": np.nanmin(subsurface_data) }, ] } fileobj = StringIO(fixture["data_file_bad_single_parameter"]) actual = watertxt.read_file_in(filestream = fileobj) nose.tools.assert_equals(actual["user"], expected["user"]) nose.tools.assert_equals(actual["date_created"], expected["date_created"]) nose.tools.assert_equals(actual["stationid"], expected["stationid"]) nose.tools.assert_equals(actual["column_names"], expected["column_names"]) np.testing.assert_equal(actual["dates"], expected["dates"]) for i in range(len(actual["parameters"])): np.testing.assert_equal(actual["parameters"][i]["name"], expected["parameters"][i]["name"]) np.testing.assert_equal(actual["parameters"][i]["index"], expected["parameters"][i]["index"]) np.testing.assert_equal(expected["parameters"][i], actual["parameters"][i], err_msg = "Error in: {}".format(actual["parameters"][i]["name"])) np.testing.assert_equal(actual["parameters"][i]["mean"], expected["parameters"][i]["mean"]) np.testing.assert_equal(actual["parameters"][i]["max"], expected["parameters"][i]["max"]) np.testing.assert_equal(actual["parameters"][i]["min"], expected["parameters"][i]["min"])
def test_data_file_clean(): expected = fixture["sample_data_dict"] fileobj = StringIO(fixture["data_file_clean"]) actual = watertxt.read_file_in(filestream = fileobj) nose.tools.assert_equals(actual["user"], expected["user"]) nose.tools.assert_equals(actual["date_created"], expected["date_created"]) nose.tools.assert_equals(actual["stationid"], expected["stationid"]) nose.tools.assert_equals(actual["column_names"], expected["column_names"]) np.testing.assert_equal(actual["dates"], expected["dates"]) for i in range(len(actual["parameters"])): np.testing.assert_equal(actual["parameters"][i]["name"], expected["parameters"][i]["name"]) np.testing.assert_equal(actual["parameters"][i]["index"], expected["parameters"][i]["index"]) np.testing.assert_equal(expected["parameters"][i], actual["parameters"][i], err_msg = "Error in: {}".format(actual["parameters"][i]["name"])) np.testing.assert_equal(actual["parameters"][i]["mean"], expected["parameters"][i]["mean"]) np.testing.assert_equal(actual["parameters"][i]["max"], expected["parameters"][i]["max"]) np.testing.assert_equal(actual["parameters"][i]["min"], expected["parameters"][i]["min"])