Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DAF9F200B11 for ; Mon, 13 Jun 2016 22:14:16 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D98A2160A3C; Mon, 13 Jun 2016 20:14:16 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2D0D5160A1A for ; Mon, 13 Jun 2016 22:14:16 +0200 (CEST) Received: (qmail 95432 invoked by uid 500); 13 Jun 2016 20:14:15 -0000 Mailing-List: contact commits-help@climate.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@climate.apache.org Delivered-To: mailing list commits@climate.apache.org Received: (qmail 95423 invoked by uid 99); 13 Jun 2016 20:14:15 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Jun 2016 20:14:15 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1754DDFFAB; Mon, 13 Jun 2016 20:14:15 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jarifibrahim@apache.org To: commits@climate.apache.org Message-Id: <320ef9dc561b4051bd6e8efc774344ca@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: climate git commit: Add tests for evaluation module Date: Mon, 13 Jun 2016 20:14:15 +0000 (UTC) archived-at: Mon, 13 Jun 2016 20:14:17 -0000 Repository: climate Updated Branches: refs/heads/master 71c8a502e -> 37717da1e 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 evaluation object Project: http://git-wip-us.apache.org/repos/asf/climate/repo Commit: http://git-wip-us.apache.org/repos/asf/climate/commit/37717da1 Tree: http://git-wip-us.apache.org/repos/asf/climate/tree/37717da1 Diff: http://git-wip-us.apache.org/repos/asf/climate/diff/37717da1 Branch: refs/heads/master Commit: 37717da1eed37071e0a6f99ca6cc1a98df415091 Parents: 71c8a50 Author: Ibrahim Authored: Mon May 30 01:29:36 2016 +0530 Committer: Ibrahim Committed: Tue Jun 14 01:43:12 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/37717da1/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 = ( + "" + ).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()])