From 507dfce844d0bddba61ce4068b0e9e0978fded0f Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Wed, 25 Mar 2020 14:57:44 +0100
Subject: [PATCH] [contrasting project] add test for the percentage of weather
 types.

---
 .../test_edf_data/test_weather_types.py         | 17 +++++++++++++++++
 .../test_mean_global_temperature.py             |  2 --
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/test/test_extreme_data/test_edf_data/test_weather_types.py b/test/test_extreme_data/test_edf_data/test_weather_types.py
index 2616b49b..afa1d9b6 100644
--- a/test/test_extreme_data/test_edf_data/test_weather_types.py
+++ b/test/test_extreme_data/test_edf_data/test_weather_types.py
@@ -1,5 +1,7 @@
 import unittest
 
+import pandas as pd
+
 from extreme_data.edf_data.weather_types import load_df_weather_types
 from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature
 
@@ -14,6 +16,21 @@ class TestWeatherTypes(unittest.TestCase):
         self.assertEqual(first, 5)
         self.assertEqual(last, 8)
 
+    def test_yearly_percentages(self):
+        # Expected Percentages come from the original paper
+        expected_percentages = [7, 23, 8, 18, 7, 6, 3, 28]
+        wp_ids = list(range(1, 9))
+        wp_to_expected_percentages = dict(zip(wp_ids, expected_percentages))
+        # Compute percentages
+        df = load_df_weather_types()
+        wp_to_found_percentages = 100 * df['WP'].value_counts() / len(df)
+        wp_to_found_percentages = {int(k): round(v) for k, v in wp_to_found_percentages.to_dict().items()}
+        # They remove one the wp1 so that the sum of the percentages sum to 100
+        wp_to_found_percentages[1] -= 1
+        self.assertEqual(sum(wp_to_found_percentages.values()), 100)
+        # wp_to_found_percentages = wp_to_found_percentages.astype(int)
+        self.assertEqual(wp_to_expected_percentages, wp_to_found_percentages)
+
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py
index 70d5bc9e..e30e4a3d 100644
--- a/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py
+++ b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py
@@ -1,7 +1,5 @@
 import unittest
 
-from extreme_data.edf_data.weather_types import load_df_weather_types
-from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature
 from extreme_data.nasa_data.global_mean_temperature import load_year_to_mean_global_temperature
 
 
-- 
GitLab