You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by ja...@apache.org on 2016/06/14 06:44:40 UTC

[1/2] climate git commit: Add tests for evaluation module

Repository: climate
Updated Branches:
  refs/heads/master 03e9d9f05 -> ad511366d


Add tests for evaluation module

Add tests to validate
- ref_dataset setter method
- add_dataset method
- add_metric method
- evaluation_run method
- str output of an evaluation object


Project: http://git-wip-us.apache.org/repos/asf/climate/repo
Commit: http://git-wip-us.apache.org/repos/asf/climate/commit/9727e135
Tree: http://git-wip-us.apache.org/repos/asf/climate/tree/9727e135
Diff: http://git-wip-us.apache.org/repos/asf/climate/diff/9727e135

Branch: refs/heads/master
Commit: 9727e1358822656785ddd1512f22b87a5f1d35a4
Parents: 71c8a50
Author: Ibrahim <ja...@gmail.com>
Authored: Mon May 30 01:29:36 2016 +0530
Committer: Ibrahim <ja...@gmail.com>
Committed: Tue Jun 14 12:05:04 2016 +0530

----------------------------------------------------------------------
 ocw/tests/test_evaluation.py | 44 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 42 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/climate/blob/9727e135/ocw/tests/test_evaluation.py
----------------------------------------------------------------------
diff --git a/ocw/tests/test_evaluation.py b/ocw/tests/test_evaluation.py
index 2f54ebb..e348fd9 100644
--- a/ocw/tests/test_evaluation.py
+++ b/ocw/tests/test_evaluation.py
@@ -51,6 +51,14 @@ class TestEvaluation(unittest.TestCase):
             self.test_dataset,
             [self.test_dataset, self.another_test_dataset],
             [Bias(), Bias(), TemporalStdDev()])
+        ref_dataset = self.test_dataset
+        target_datasets = [self.test_dataset, self.another_test_dataset]
+        metrics = [Bias(), Bias()]
+        unary_metrics = [TemporalStdDev()]
+
+        self.eval = Evaluation(ref_dataset,
+                               target_datasets,
+                               metrics + unary_metrics)
 
         self.assertEqual(self.eval.ref_dataset.variable, self.variable)
 
@@ -63,6 +71,26 @@ class TestEvaluation(unittest.TestCase):
         self.assertEqual(len(self.eval.metrics), 2)
         # TemporalStdDev is a "unary" metric and should be stored as such
         self.assertEqual(len(self.eval.unary_metrics), 1)
+        self.eval.run()
+        out_str = (
+            "<Evaluation - ref_dataset: {}, "
+            "target_dataset(s): {}, "
+            "binary_metric(s): {}, "
+            "unary_metric(s): {}, "
+            "subregion(s): {}>"
+        ).format(
+            str(self.test_dataset),
+            [str(ds) for ds in target_datasets],
+            [str(m) for m in metrics],
+            [str(u) for u in unary_metrics],
+            None
+        )
+        self.assertEqual(str(self.eval), out_str)
+
+    def test_valid_ref_dataset_setter(self):
+        self.eval.ref_dataset = self.another_test_dataset
+        self.assertEqual(self.eval.ref_dataset.variable,
+                         self.another_test_dataset.variable)
 
     def test_invalid_ref_dataset(self):
         with self.assertRaises(TypeError):
@@ -88,12 +116,16 @@ class TestEvaluation(unittest.TestCase):
 
         self.assertEqual(self.eval.ref_dataset.variable, self.variable)
 
-    def test_add_dataset(self):
+    def test_add_valid_dataset(self):
         self.eval.add_dataset(self.test_dataset)
 
         self.assertEqual(self.eval.target_datasets[0].variable,
                          self.variable)
 
+    def test_add_invalid_dataset(self):
+        with self.assertRaises(TypeError):
+            self.eval.add_dataset('This is an invalid dataset')
+
     def test_add_datasets(self):
         self.eval.add_datasets([self.test_dataset, self.another_test_dataset])
 
@@ -103,7 +135,7 @@ class TestEvaluation(unittest.TestCase):
         self.assertEqual(self.eval.target_datasets[1].variable,
                          self.other_var)
 
-    def test_add_metric(self):
+    def test_add_valid_metric(self):
         # Add a "binary" metric
         self.assertEqual(len(self.eval.metrics), 0)
         self.eval.add_metric(Bias())
@@ -114,11 +146,19 @@ class TestEvaluation(unittest.TestCase):
         self.eval.add_metric(TemporalStdDev())
         self.assertEqual(len(self.eval.unary_metrics), 1)
 
+    def test_add_invalid_metric(self):
+        with self.assertRaises(TypeError):
+            self.eval.add_metric('This is an invalid metric')
+
     def test_add_metrics(self):
         self.assertEqual(len(self.eval.metrics), 0)
         self.eval.add_metrics([Bias(), Bias()])
         self.assertEqual(len(self.eval.metrics), 2)
 
+    def test_invalid_evaluation_run(self):
+        self.eval = Evaluation(None, [], [])
+        self.assertEqual(self.eval.run(), None)
+
     def test_bias_output_shape(self):
         bias_eval = Evaluation(self.test_dataset, [
                                self.another_test_dataset], [Bias()])


[2/2] climate git commit: Merge branch 'CLIMATE-802'

Posted by ja...@apache.org.
Merge branch 'CLIMATE-802'


Project: http://git-wip-us.apache.org/repos/asf/climate/repo
Commit: http://git-wip-us.apache.org/repos/asf/climate/commit/ad511366
Tree: http://git-wip-us.apache.org/repos/asf/climate/tree/ad511366
Diff: http://git-wip-us.apache.org/repos/asf/climate/diff/ad511366

Branch: refs/heads/master
Commit: ad511366d52f296a392d7b2a1ee673af144afdab
Parents: 03e9d9f 9727e13
Author: Ibrahim <ja...@gmail.com>
Authored: Tue Jun 14 12:14:10 2016 +0530
Committer: Ibrahim <ja...@gmail.com>
Committed: Tue Jun 14 12:14:10 2016 +0530

----------------------------------------------------------------------
 ocw/tests/test_evaluation.py | 44 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 42 insertions(+), 2 deletions(-)
----------------------------------------------------------------------