Skip to content
Snippets Groups Projects
MiniSeedFactory_test.py 3.95 KiB
Newer Older
  • Learn to ignore specific revisions
  • """Tests for MiniSeedFactory.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.MiniSeedFactory_test.test__get_edge_network()
    
        """
        # _get_edge_network should always return NT for use by USGS geomag
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
        assert_equals(
                MiniSeedFactory()._get_edge_network(' ', ' ', ' ', ' '),
                'NT')
    
    
    
    def test__get_edge_station():
    
        """edge_test.MiniSeedFactory_test.test__get_edge_station()
    
        """
        # _get_edge_station will return the observatory code passed in.
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
        assert_equals(
                MiniSeedFactory()._get_edge_station('BOU', ' ', ' ', ' '),
                'BOU')
    
    
    
    def test__get_edge_channel():
    
        """edge_test.MiniSeedFactory_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('', 'BEU', '', 'minute'),
                'BEU')
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
        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.MiniSeedFactory_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.MiniSeedFactory_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.MiniSeedFactory_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.MiniSeedFactory_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')