test_SCM_study.py 1.25 KiB
import os.path as op
import unittest

import pandas as pd

from experiment.meteo_france_SCM_study.crocus.crocus import ExtendedCrocusSwe
from experiment.meteo_france_SCM_study.main_visualize import study_iterator
from experiment.meteo_france_SCM_study.safran.safran import Safran, ExtendedSafran
from experiment.meteo_france_SCM_study.safran.safran_visualizer import StudyVisualizer


class TestSCMStudy(unittest.TestCase):

    def setUp(self) -> None:
        super().setUp()
        self.study = Safran()

    def test_massif_safran(self):
        df_centroid = pd.read_csv(op.join(self.study.map_full_path, 'coordonnees_massifs_alpes.csv'))
        # Assert that the massif names are the same between SAFRAN and the coordinate file
        assert not set(self.study.safran_massif_names).symmetric_difference(set(df_centroid['NOM']))

    def test_extended_run(self):
        for study_class in [ExtendedSafran, ExtendedCrocusSwe]:
            for study in study_iterator(study_class, only_first_one=True, both_altitude=True, verbose=False):
                study_visualizer = StudyVisualizer(study, show=False, save_to_file=False)
                study_visualizer.visualize_all_mean_and_max_graphs()
        self.assertTrue(True)


if __name__ == '__main__':
    unittest.main()