diff --git a/test/edge_test/MiniSeedFactory_test.py b/test/edge_test/MiniSeedFactory_test.py new file mode 100644 index 0000000000000000000000000000000000000000..70cbe4d0626a161f72910af9b5c7fff2497fbad2 --- /dev/null +++ b/test/edge_test/MiniSeedFactory_test.py @@ -0,0 +1,94 @@ +"""Tests for EdgeFactory.py""" + +from obspy.core import Stream, Trace, UTCDateTime +from geomagio.edge import MiniSeedFactory +from nose.tools import assert_equals + + +def test__get_edge_network(): + """edge_test.EdgeFactory_test.test__get_edge_network() + """ + # _get_edge_network should always return NT for use by USGS geomag + assert_equals(MiniSeedFactory()._get_edge_network(' ', ' ', ' ', ' '), 'NT') + + +def test__get_edge_station(): + """edge_test.EdgeFactory_test.test__get_edge_station() + """ + # _get_edge_station will return the observatory code passed in. + assert_equals(MiniSeedFactory()._get_edge_station('BOU', ' ', ' ', ' '), 'BOU') + + +def test__get_edge_channel(): + """edge_test.EdgeFactory_test.test__get_edge_channel() + """ + # Call private function _get_edge_channel, make certain + # it gets back the appropriate 2 character code. + assert_equals(MiniSeedFactory()._get_edge_channel('', 'D', '', 'minute'), + 'UFD') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'U', '', 'minute'), + 'UFU') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'F', '', 'minute'), + 'UFF') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'H', '', 'minute'), + 'UFH') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'DIST', '', 'minute'), + 'UX4') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'DST', '', 'minute'), + 'UX3') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'E-E', '', 'minute'), + 'UQE') + assert_equals(MiniSeedFactory()._get_edge_channel('', 'E-N', '', 'minute'), + 'UQN') + + +def test__get_edge_location(): + """edge_test.EdgeFactory_test.test__get_edge_location() + """ + # Call _get_edge_location, make certain it returns the correct edge + # location code. + assert_equals(MiniSeedFactory()._get_edge_location( + '', '', 'variation', ''), 'R0') + assert_equals(MiniSeedFactory()._get_edge_location( + '', '', 'quasi-definitive', ''), 'Q0') + assert_equals(MiniSeedFactory()._get_edge_location( + '', '', 'definitive', ''), 'D0') + + +def test__get_interval_code(): + """edge_test.EdgeFactory_test.test__get_interval_code() + """ + assert_equals(MiniSeedFactory()._get_interval_code('day'), 'P') + assert_equals(MiniSeedFactory()._get_interval_code('hour'), 'R') + assert_equals(MiniSeedFactory()._get_interval_code('minute'), 'U') + assert_equals(MiniSeedFactory()._get_interval_code('second'), 'L') + assert_equals(MiniSeedFactory()._get_interval_code('tenhertz'), 'B') + + +def test__set_metadata(): + """edge_test.EdgeFactory_test.test__set_metadata() + """ + # Call _set_metadata with 2 traces, and make certain the stats get + # set for both traces. + trace1 = Trace() + trace2 = Trace() + stream = Stream(traces=[trace1, trace2]) + MiniSeedFactory()._set_metadata(stream, 'BOU', 'H', 'variation', 'minute') + assert_equals(stream[0].stats['channel'], 'H') + assert_equals(stream[1].stats['channel'], 'H') + + +# def test_get_timeseries(): +def dont_get_timeseries(): + """edge_test.EdgeFactory_test.test_get_timeseries()""" + # Call get_timeseries, and test stats for comfirmation that it came back. + # TODO, need to pass in host and port from a config file, or manually + # change for a single test. + edge_factory = MiniSeedFactory(host='TODO', port='TODO') + timeseries = edge_factory.get_timeseries( + UTCDateTime(2015, 3, 1, 0, 0, 0), UTCDateTime(2015, 3, 1, 1, 0, 0), + 'BOU', ('H'), 'variation', 'minute') + assert_equals(timeseries.select(channel='H')[0].stats.station, + 'BOU', 'Expect timeseries to have stats') + assert_equals(timeseries.select(channel='H')[0].stats.channel, + 'H', 'Expect timeseries stats channel to be equal to H')