]> git.parisson.com Git - timeside.git/commitdiff
Remove duplicate tests agains bad type in test_AnalyzerResult
authorThomas Fillon <thomas@parisson.com>
Thu, 10 Apr 2014 18:36:56 +0000 (20:36 +0200)
committerThomas Fillon <thomas@parisson.com>
Thu, 10 Apr 2014 18:36:56 +0000 (20:36 +0200)
tests/test_AnalyzerResult.py
tests/test_decoding_stack.py [changed mode: 0644->0755]

index e0dd58dd8cdf347566940e7bce49cf15e4ea33d7..4fc1ca35296f852e7134a940e0ea8552bd63b816 100755 (executable)
@@ -27,6 +27,64 @@ class TestAnalyzerResult(unittest.TestCase):
                                          start=0, duration=20,
                                          channels=2)
 
+    def tearDown(self):
+        pass
+
+#good_numpy_data_types = [
+#    'float64',
+#    'float32',
+##    'float16',
+#    'int64',
+#    'int16',
+#    'int32',
+#    'int8',
+#    'uint16',
+#    'uint32',
+#    'uint64',
+#    'uint8',
+#]
+from timeside.analyzer.core import numpy_data_types as good_numpy_data_types
+
+bad_numpy_data_types = [
+    # not understood by json or yaml
+    'float128',
+    # Not supported by h5py for version < 2.2
+    'float16',
+    # complex can not be serialized in json
+    'complex256',
+    'complex128',
+    'complex64',
+    # ?
+    'datetime64',
+    'timedelta64',
+    'unicode_',
+    'string_'
+    ]
+
+
+def create_good_method_func(numpy_data_type):
+    def method(self):
+        "numpy %s" % str(numpy_data_type)[7:-1]
+        self.result.data_object.value = numpy_data_type(pi)
+    return method
+
+
+def create_bad_method_func(numpy_data_type):
+    def method(self):
+        "numpy %s" % numpy_data_type
+        try:
+            data = getattr(numpy, numpy_data_type)(pi)
+        except ValueError:
+            data = getattr(numpy, numpy_data_type)()
+        self.assertRaises(TypeError, self.result.data_object.__setattr__, 'value', data)
+    return method
+
+class TestAnalyzerResultBadType(TestAnalyzerResult):
+    """ test AnalyzerResult on bad data type"""
+    pass
+
+class TestAnalyzerResultGoodType(TestAnalyzerResult):
+    """ test AnalyzerResult on good data type"""
     def testOnFloat(self):
         "float result"
         self.result.data_object.value = 1.2
@@ -39,10 +97,12 @@ class TestAnalyzerResult(unittest.TestCase):
         "list result"
         self.result.data_object.value = [1., 2.]
 
+    @unittest.skip("String have to be handled through label metadata")
     def testOnString(self):
         "string result"
         self.result.data_object.value = "hello"
 
+    @unittest.skip("String have to be handled through label metadata")
     def testOnListOfString(self):
         "list of strings result"
         self.result.data_object.value = ["hello", "hola"]
@@ -63,6 +123,7 @@ class TestAnalyzerResult(unittest.TestCase):
         "numpy 3d array of int32"
         self.result.data_object.value = ones([2, 3, 2], dtype='int32')
 
+    @unittest.skip("String have to be handled through label metadata")    
     def testOnNumpyArrayOfStrings(self):
         "numpy array of strings"
         self.result.data_object.value = array(['hello', 'hola'])
@@ -75,77 +136,29 @@ class TestAnalyzerResult(unittest.TestCase):
         "None"
         self.result.data_object.value = None
 
+    @unittest.skip("String have to be handled through label metadata")
     def testOnUnicode(self):
-        "None"
-        self.result.data_object.value = None
-
-    def tearDown(self):
-        pass
-
-#good_numpy_data_types = [
-#    'float64',
-#    'float32',
-##    'float16',
-#    'int64',
-#    'int16',
-#    'int32',
-#    'int8',
-#    'uint16',
-#    'uint32',
-#    'uint64',
-#    'uint8',
-#]
-from timeside.analyzer.core import numpy_data_types as good_numpy_data_types
+        "Unicode"
+        self.result.data_object.value = u'\u0107'
 
-bad_numpy_data_types = [
-    # not understood by json or yaml
-    'float128',
-    # Not supported by h5py for version < 2.2
-    'float16',
-    # complex can not be serialized in json
-    'complex256',
-    'complex128',
-    'complex64',
-    # ?
-    'datetime64',
-    'timedelta64',
-    ]
-
-
-def create_good_method_func(numpy_data_type):
-    def method(self):
-        "numpy %s" % str(numpy_data_type)[7:-1]
-        import numpy
-        self.result.data_object.value = numpy_data_type(pi)
-    return method
-
-
-def create_bad_method_func(numpy_data_type):
-    def method(self):
-        "numpy %s" % numpy_data_type
-        import numpy
-        try:
-            data = getattr(numpy, numpy_data_type)(pi)
-        except ValueError:
-            data = getattr(numpy, numpy_data_type)()
-        self.assertRaises(TypeError, self.result.data_object.__setattr__, 'value', data)
-    return method
 
+        
 for numpy_data_type in good_numpy_data_types:
     test_method = create_good_method_func(numpy_data_type)
     str_type = str(numpy_data_type)[13:-2] # keep only type string
     test_method.__name__ = 'testOnNumpy_%s' % str_type
     test_method.__doc__ = 'groks a numpy %s' % str_type
-    setattr(TestAnalyzerResult, test_method.__name__, test_method)
+    setattr(TestAnalyzerResultGoodType, test_method.__name__, test_method)
 
 for numpy_data_type in bad_numpy_data_types:
     test_method = create_bad_method_func(numpy_data_type)
     test_method.__name__ = 'testOnNumpy_%s' % numpy_data_type
     test_method.__doc__ = 'gasps on numpy %s' % numpy_data_type
-    setattr(TestAnalyzerResult, test_method.__name__, test_method)
+    setattr(TestAnalyzerResultBadType, test_method.__name__, test_method)
 
 
-class TestAnalyzerResultNumpy(TestAnalyzerResult):
+    
+class TestAnalyzerResultNumpy(TestAnalyzerResultGoodType):
     """ test AnalyzerResult numpy serialize """
 
     def tearDown(self):
@@ -158,7 +171,7 @@ class TestAnalyzerResultNumpy(TestAnalyzerResult):
         self.assertEqual(d_numpy, results)
 
 
-class TestAnalyzerResultHdf5(TestAnalyzerResult):
+class TestAnalyzerResultHdf5(TestAnalyzerResultGoodType):
     """ test AnalyzerResult hdf5 serialize """
 
     def tearDown(self):
@@ -171,7 +184,7 @@ class TestAnalyzerResultHdf5(TestAnalyzerResult):
         self.assertEqual(results, res_hdf5)
 
 
-class TestAnalyzerResultYaml(TestAnalyzerResult):
+class TestAnalyzerResultYaml(TestAnalyzerResultGoodType):
     """ test AnalyzerResult yaml serialize """
     def tearDown(self):
         results = AnalyzerResultContainer(self.result)
@@ -187,7 +200,7 @@ class TestAnalyzerResultYaml(TestAnalyzerResult):
         self.assertEqual(results, d_yaml)
 
 
-class TestAnalyzerResultXml(TestAnalyzerResult):
+class TestAnalyzerResultXml(TestAnalyzerResultGoodType):
     """ test AnalyzerResult xml serialize """
     def tearDown(self):
         results = AnalyzerResultContainer([self.result])
@@ -205,7 +218,7 @@ class TestAnalyzerResultXml(TestAnalyzerResult):
         self.assertEqual(d_xml, results)
 
 
-class TestAnalyzerResultJson(TestAnalyzerResult):
+class TestAnalyzerResultJson(TestAnalyzerResultGoodType):
     """ test AnalyzerResult """
     def tearDown(self):
         results = AnalyzerResultContainer([self.result])
@@ -226,7 +239,7 @@ class TestAnalyzerResultJson(TestAnalyzerResult):
         self.assertEqual(d_json, results)
 
 
-class TestAnalyzerResultAsDict(TestAnalyzerResult):
+class TestAnalyzerResultAsDict(TestAnalyzerResultGoodType):
     """ test AnalyzerResult as Dictionnary"""
 
     def tearDown(self):
old mode 100644 (file)
new mode 100755 (executable)