From afd5ede5740a4bbf0e9c99c2ee9b31edac5b3932 Mon Sep 17 00:00:00 2001 From: fbourgin <francois.bourgin@inrae.fr> Date: Tue, 20 May 2025 14:55:28 +0200 Subject: [PATCH] add a test for q_lvl --- tests/expected/evalp/CR_QLVL.csv | 1 + tests/test_probabilist.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/expected/evalp/CR_QLVL.csv diff --git a/tests/expected/evalp/CR_QLVL.csv b/tests/expected/evalp/CR_QLVL.csv new file mode 100644 index 0000000..dfefd7e --- /dev/null +++ b/tests/expected/evalp/CR_QLVL.csv @@ -0,0 +1 @@ +0.00643087,0.0514469 diff --git a/tests/test_probabilist.py b/tests/test_probabilist.py index 0c14b7a..6d2faa2 100644 --- a/tests/test_probabilist.py +++ b/tests/test_probabilist.py @@ -90,6 +90,13 @@ class TestMetrics(unittest.TestCase): ) for metric in ('CR', 'AW', 'AWN', 'WS') } + expected_itv_qlvl = { + metric: ( + numpy.genfromtxt(f"./expected/evalp/{metric}_QLVL.csv", delimiter=',') + [numpy.newaxis, numpy.newaxis, numpy.newaxis, numpy.newaxis, ...] + ) for metric in ('CR') + } + expected_mvr = { metric: ( numpy.genfromtxt(f"./expected/evalp/{metric}.csv", delimiter=',') @@ -153,6 +160,21 @@ class TestMetrics(unittest.TestCase): self.expected_itv[metric] ) + def test_intervals_qlvl_metrics(self): + lvl = numpy.array([50., 80.]) + qlvl = numpy.array(10., 25., 75., 90]) + for metric in expected_itv_qlvl.keys(): + + numpy.set_printoptions(precision=13) + m = evalhyd.evalp(_obs, _prd, [metric], c_lvl=lvl, q_lvl=qlvl)[0][0, 0, 0] + numpy.savetxt(f"./expected/evalp/{metric}_QLVL.csv", m, delimiter=',', fmt="%.13f") + + with self.subTest(metric=metric): + numpy.testing.assert_almost_equal( + evalhyd.evalp(_obs, _prd, [metric], c_lvl=lvl, q_lvl=qlvl)[0], + self.expected_itv_qlvl[metric] + ) + def test_multivariate_metrics(self): n_sit = 5 -- GitLab