Skip to content

Commit daa1de0

Browse files
committed
Test data for tests using saved data
1 parent 67c7ad4 commit daa1de0

1 file changed

Lines changed: 68 additions & 3 deletions

File tree

mhkit/tests/wave/io/test_ndbc.py

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,27 @@ def tearDownClass(self):
100100
# Realtime data
101101
def test_ndbc_read_realtime_met(self):
102102
data, units = wave.io.ndbc.read_file(join(datadir, "46097.txt"))
103+
cd = np.array(
104+
[
105+
180,
106+
12.0,
107+
np.nan,
108+
np.nan,
109+
np.nan,
110+
np.nan,
111+
np.nan,
112+
1001.0,
113+
6.1,
114+
10.9,
115+
np.nan,
116+
np.nan,
117+
np.nan,
118+
np.nan,
119+
],
120+
)
103121
expected_index0 = datetime(2019, 4, 2, 13, 50)
104122
self.assertSetEqual(set(data.columns), set(self.expected_columns_metRT))
123+
np.testing.assert_equal(data.iloc[-1].astype(float).values, cd)
105124
self.assertEqual(data.index[0], expected_index0)
106125
self.assertEqual(data.shape, (6490, 14))
107126
self.assertEqual(units, self.expected_units_metRT)
@@ -110,8 +129,26 @@ def test_ndbc_read_realtime_met(self):
110129
def test_ndbnc_read_historical_met(self):
111130
# QC'd monthly data, Aug 2019
112131
data, units = wave.io.ndbc.read_file(join(datadir, "46097h201908qc.txt"))
132+
cd = np.array(
133+
[
134+
160.0,
135+
2.7,
136+
np.nan,
137+
np.nan,
138+
np.nan,
139+
np.nan,
140+
np.nan,
141+
1014.9,
142+
14.5,
143+
13.4,
144+
np.nan,
145+
np.nan,
146+
np.nan,
147+
]
148+
)
113149
expected_index0 = datetime(2019, 8, 1, 0, 0)
114150
self.assertSetEqual(set(data.columns), set(self.expected_columns_metH))
151+
np.testing.assert_equal(data.iloc[-1].astype(float).values, cd)
115152
self.assertEqual(data.index[0], expected_index0)
116153
self.assertEqual(data.shape, (4464, 13))
117154
self.assertEqual(units, self.expected_units_metH)
@@ -127,14 +164,34 @@ def test_ndbc_read_spectral(self):
127164
def test_ndbc_read_cwind_no_units(self):
128165
data, units = wave.io.ndbc.read_file(join(datadir, "42a01c2003.txt"))
129166
self.assertEqual(data.shape, (4320, 5))
167+
cd = np.array(
168+
[
169+
[168.0, 6.1, np.nan, np.nan, np.nan],
170+
[153.0, 5.6, np.nan, np.nan, np.nan],
171+
[149.0, 4.8, np.nan, np.nan, np.nan],
172+
[147.0, 4.1, np.nan, np.nan, np.nan],
173+
[151.0, 4.1, 169.0, np.nan, np.nan],
174+
]
175+
)
176+
np.testing.assert_equal(data.tail().values, cd)
130177
self.assertEqual(units, None)
131178

132179
def test_ndbc_read_cwind_units(self):
133180
data, units = wave.io.ndbc.read_file(join(datadir, "46002c2016.txt"))
134181
self.assertEqual(data.shape, (28468, 5))
135-
self.assertEqual(units, wave.io.ndbc.parameter_units("cwind"))
182+
cd = np.array(
183+
[
184+
[303.0, 6.2, np.nan, np.nan, np.nan],
185+
[306.0, 7.8, np.nan, np.nan, np.nan],
186+
[302.0, 7.6, np.nan, np.nan, np.nan],
187+
[293.0, 6.4, np.nan, np.nan, np.nan],
188+
[287.0, 6.3, 307.0, 9.7, 1819.0],
189+
]
190+
)
191+
np.testing.assert_equal(data.tail().values, cd)
136192

137193
def test_ndbc_available_data(self):
194+
# Can't test data values because datafiles are periodically updating
138195
data = wave.io.ndbc.available_data("swden", buoy_number="46029")
139196
cols = data.columns.tolist()
140197
exp_cols = ["id", "year", "filename"]
@@ -158,14 +215,18 @@ def test__ndbc_parse_filenames(self):
158215
self.assertListEqual(fnames, self.filenames)
159216

160217
def test_ndbc_request_data(self):
218+
# Can't test data values because datafiles are periodically updating
161219
filenames = pd.Series(self.filenames[0])
162220
ndbc_data = wave.io.ndbc.request_data("swden", filenames, to_pandas=False)
163221
self.assertTrue(xr.Dataset(self.swden).equals(ndbc_data["1996"]))
164222

165223
def test_ndbc_request_data_from_dataframe(self):
224+
# Can't test data values because datafiles are periodically updating
166225
filenames = pd.DataFrame(pd.Series(data=self.filenames[0]))
167226
ndbc_data = wave.io.ndbc.request_data("swden", filenames)
168-
assert_frame_equal(self.swden, ndbc_data["1996"])
227+
assert_frame_equal(
228+
self.swden, ndbc_data["1996"], check_column_type=False, check_dtype=False
229+
)
169230

170231
def test_ndbc_request_data_filenames_length(self):
171232
with self.assertRaises(ValueError):
@@ -221,9 +282,10 @@ def test_ndbc_date_string_to_datetime(self):
221282
def test_ndbc_parameter_units(self):
222283
parameter = "swden"
223284
units = wave.io.ndbc.parameter_units(parameter)
224-
self.assertEqual(units[parameter], "(m*m)/Hz")
285+
self.assertEqual(units[parameter], "m^2/Hz")
225286

226287
def test_ndbc_request_directional_data(self):
288+
# Can't test data values because datafiles are periodically updating
227289
data = self.directional_data
228290
# correct 5 parameters
229291
self.assertEqual(len(data), 5)
@@ -236,12 +298,14 @@ def test_ndbc_request_directional_data(self):
236298
self.assertEqual(len(data.frequency), 47)
237299

238300
def test_ndbc_create_spread_function(self):
301+
# Can't test data values because datafiles are periodically updating
239302
directions = np.arange(0, 360, 2.0)
240303
spread = wave.io.ndbc.create_spread_function(self.directional_data, directions)
241304
self.assertEqual(spread.shape, (47, 180))
242305
self.assertEqual(spread.units, "1/Hz/deg")
243306

244307
def test_ndbc_create_directional_spectrum(self):
308+
# Can't test data values because datafiles are periodically updating
245309
directions = np.arange(0, 360, 2.0)
246310
spectrum = wave.io.ndbc.create_directional_spectrum(
247311
self.directional_data, directions
@@ -250,6 +314,7 @@ def test_ndbc_create_directional_spectrum(self):
250314
self.assertEqual(spectrum.units, "m^2/Hz/deg")
251315

252316
def test_plot_directional_spectrum(self):
317+
# Can't test data values because datafiles are periodically updating
253318
directions = np.arange(0, 360, 2.0)
254319
spectrum = wave.io.ndbc.create_spread_function(
255320
self.directional_data, directions

0 commit comments

Comments
 (0)