From 13de5c592bade6fb1fc0f81451de5e211d590705 Mon Sep 17 00:00:00 2001
From: Hal Simpson <hasimpson@usgs.gov>
Date: Thu, 12 Mar 2015 14:37:31 -0600
Subject: [PATCH] Removed test for unused methods,  added tests for all
 remaining methods.

---
 geomagio/edge/EdgeFactory_test.py | 115 +++++++++++++++++++++---------
 1 file changed, 80 insertions(+), 35 deletions(-)

diff --git a/geomagio/edge/EdgeFactory_test.py b/geomagio/edge/EdgeFactory_test.py
index c9908da8e..92e27a8d9 100644
--- a/geomagio/edge/EdgeFactory_test.py
+++ b/geomagio/edge/EdgeFactory_test.py
@@ -1,52 +1,95 @@
 """Tests for EdgeFactory.py"""
 
 from obspy.core.utcdatetime import UTCDateTime
+from obspy.core.stream import Stream
+from obspy.core.trace import Trace
 from EdgeFactory import EdgeFactory
 from nose.tools import assert_equals
-from nose.tools import assert_raises
-from geomagio import TimeseriesFactoryException
 
 
-def test_get_edge_channel_codes():
-    """geomagio.edge.EdgeFactory_test.test_get_edge_channel_codes()
+def test_get_type_from_edge():
+    """geomagio.edge.EdgeFactory_test.test_get_type_from_edge()
     """
-    # 1) Call get_edge_channel_codes with minute, variation and H,
-    #    expect MVH back
-    channels = EdgeFactory().get_edge_channel_codes('BOU', ('H'), 'variation',
-        'minute')
-    assert_equals(channels, ['MVH'], 'Expect edge channel to equal MVH')
-    # 2) Call get_edge_channel_codes with second, variation and [H,D,Z,F],
-    #    expect SVN, SVD, SVZ and SSF back
-    channels = EdgeFactory().get_edge_channel_codes('BOU',
-        ('H', 'D', 'Z', 'F'), 'variation', 'second')
-    assert_equals(channels[0], 'SVH', 'Expect edge channels to equal SVH')
-    assert_equals(channels[1], 'SVD', 'Expect edge channels to equal SVD')
-    assert_equals(channels[2], 'SVZ', 'Expect edge channels to equal SVZ')
-    assert_equals(channels[3], 'SSF', 'Expect edge channels to equal SSF')
+    # Call get_type_from_edge, make certain it returns the type
+    assert_equals(EdgeFactory().get_type_from_edge('R0'), 'variation')
+    assert_equals(EdgeFactory().get_type_from_edge('R1'), 'variation')
+    assert_equals(EdgeFactory().get_type_from_edge('Q0'), 'quasi-definitive')
+    assert_equals(EdgeFactory().get_type_from_edge('D0'), 'definitive')
 
 
-def test_get_interval_from_edge():
-    """geomagio.edge.EdgeFactory_test.test_get_interval_from_edge()
+def test__get_edge_network():
+    """geomagio.edge.EdgeFactory_test.test__get_edge_network()
     """
-    # 1) Call get_interval_from_edge with Minute channels, get minute back.
-    assert_equals(EdgeFactory().get_interval_from_edge(
-        ('MVH', 'MVE')), 'minute')
-    # 2) Call get_interval_from_edge with Mixed channels, raise exception.
-    assert_raises(TimeseriesFactoryException,
-        EdgeFactory().get_interval_from_edge,
-        ('MVH', 'SVE'))
+    # _get_edge_network should always return NT for use by USGS geomag
+    assert_equals(EdgeFactory()._get_edge_network(' ', ' ', ' ', ' '), 'NT')
 
 
-def test__get_edge_code_from_channel():
-    """geomagio.edge.EdgeFactory_test.test__get_edge_code_from_channel()
+def test__get_edge_station():
+    """geomagio.edge.EdgeFactory_test.test__get_edge_station()
     """
-    # Call private function _get_edge_code_from_channel, make certain
+    # _get_edge_station will return the observatory code passed in.
+    assert_equals(EdgeFactory()._get_edge_station('BOU', ' ', ' ', ' '), 'BOU')
+
+
+def test__get_edge_channel():
+    """geomagio.edge.EdgeFactory_test.test__get_edge_channel()
+    """
+    # Call private function _get_edge_channel, make certain
     # it gets back the appropriate 2 character code.
-    assert_equals(EdgeFactory()._get_edge_code_from_channel('D'), 'VD')
-    assert_equals(EdgeFactory()._get_edge_code_from_channel('E'), 'VE')
-    assert_equals(EdgeFactory()._get_edge_code_from_channel('F'), 'SF')
-    assert_equals(EdgeFactory()._get_edge_code_from_channel('H'), 'VH')
-    assert_equals(EdgeFactory()._get_edge_code_from_channel('Z'), 'VZ')
+    assert_equals(EdgeFactory()._get_edge_channel('', 'D', '', 'minute'),
+            'MVD')
+    assert_equals(EdgeFactory()._get_edge_channel('', 'E', '', 'minute'),
+            'MVE')
+    assert_equals(EdgeFactory()._get_edge_channel('', 'F', '', 'minute'),
+            'MSF')
+    assert_equals(EdgeFactory()._get_edge_channel('', 'H', '', 'minute'),
+            'MVH')
+    assert_equals(EdgeFactory()._get_edge_channel('', 'Z', '', 'minute'),
+            'MVZ')
+
+
+def test__get_edge_location():
+    """geomagio.edge.EdgeFactory_test.test__get_edge_location()
+    """
+    # Call _get_edge_location, make certain it returns the correct edge
+    # location code.
+    assert_equals(EdgeFactory()._get_edge_location(
+            '', '', 'variation', ''), 'R0')
+    assert_equals(EdgeFactory()._get_edge_location(
+            '', '', 'quasi-definitive', ''), 'Q0')
+    assert_equals(EdgeFactory()._get_edge_location(
+            '', '', 'definitive', ''), 'D0')
+
+
+def test__get_interval_from_code():
+    """geomagio.edge.EdgeFactory_test.test__get_interval_from_code()
+    """
+    # Call _get_interval_from_code with an edge interval code.  Make certain
+    # it returns the appropriate interval.
+    assert_equals(EdgeFactory()._get_interval_from_code('M'), 'minute')
+    assert_equals(EdgeFactory()._get_interval_from_code('S'), 'second')
+
+
+def test__get_interval_code():
+    """geomagio.edge.EdgeFactory_test.test__get_interval_code()
+    """
+    assert_equals(EdgeFactory()._get_interval_code('daily'), 'D')
+    assert_equals(EdgeFactory()._get_interval_code('hourly'), 'H')
+    assert_equals(EdgeFactory()._get_interval_code('minute'), 'M')
+    assert_equals(EdgeFactory()._get_interval_code('second'), 'S')
+
+
+def test__set_metadata():
+    """geomagio.edge.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])
+    EdgeFactory()._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():
@@ -59,5 +102,7 @@ def dont_get_timeseries():
     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='MVH')[0].stats.station,
+    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')
-- 
GitLab