#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2017-2018 Satpy developers
#
# This file is part of satpy.
#
# satpy is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# satpy is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# satpy.  If not, see <http://www.gnu.org/licenses/>.
"""The reader tests package."""

import sys

from satpy.tests.reader_tests import (test_abi_l1b, test_agri_l1, test_hrit_base,
                                      test_viirs_sdr, test_viirs_l1b, test_virr_l1b,
                                      test_seviri_l1b_native, test_seviri_base,
                                      test_hdf5_utils, test_netcdf_utils,
                                      test_hdf4_utils, test_utils,
                                      test_acspo, test_amsr2_l1b,
                                      test_omps_edr, test_nucaps, test_geocat,
                                      test_seviri_l1b_calibration, test_clavrx,
                                      test_grib, test_goes_imager_hrit, test_ahi_hsd,
                                      test_iasi_l2, test_generic_image,
                                      test_scmi, test_ahi_hrit, test_goes_imager_nc,
                                      test_nc_slstr, test_olci_nc,
                                      test_viirs_edr_flood, test_nwcsaf_nc,
                                      test_seviri_l1b_hrit, test_sar_c_safe,
                                      test_safe_sar_l2_ocn, test_viirs_edr_active_fires,
                                      test_hdfeos_base, test_modis_l2,
                                      test_electrol_hrit, test_mersi2_l1b,
                                      test_avhrr_l1b_gaclac, test_vaisala_gld360,
                                      test_fci_l1c_fdhsi, test_tropomi_l2,
                                      test_hsaf_grib, test_abi_l2_nc, test_eum_base,
                                      test_ami_l1b, test_viirs_compact, test_seviri_l2_bufr,
                                      test_geos_area, test_nwcsaf_msg, test_glm_l2,
                                      test_seviri_l1b_icare, test_mimic_TPW2_nc,
                                      test_slstr_l2, test_aapp_l1b, test_eps_l1b,
                                      test_iasi_l2_so2_bufr)

if sys.version_info < (2, 7):
    import unittest2 as unittest
else:
    import unittest


def suite():
    """Test suite for all reader tests."""
    mysuite = unittest.TestSuite()
    mysuite.addTests(test_abi_l1b.suite())
    mysuite.addTests(test_agri_l1.suite())
    mysuite.addTests(test_viirs_sdr.suite())
    mysuite.addTests(test_viirs_l1b.suite())
    mysuite.addTests(test_virr_l1b.suite())
    mysuite.addTests(test_hrit_base.suite())
    mysuite.addTests(test_seviri_l1b_native.suite())
    mysuite.addTests(test_seviri_base.suite())
    mysuite.addTests(test_hdf4_utils.suite())
    mysuite.addTests(test_hdf5_utils.suite())
    mysuite.addTests(test_netcdf_utils.suite())
    mysuite.addTests(test_utils.suite())
    mysuite.addTests(test_acspo.suite())
    mysuite.addTests(test_amsr2_l1b.suite())
    mysuite.addTests(test_omps_edr.suite())
    mysuite.addTests(test_nucaps.suite())
    mysuite.addTests(test_geocat.suite())
    mysuite.addTests(test_olci_nc.suite())
    mysuite.addTests(test_seviri_l1b_calibration.suite())
    mysuite.addTests(test_clavrx.suite())
    mysuite.addTests(test_grib.suite())
    mysuite.addTests(test_goes_imager_hrit.suite())
    mysuite.addTests(test_ahi_hsd.suite())
    mysuite.addTests(test_iasi_l2.suite())
    mysuite.addTests(test_generic_image.suite())
    mysuite.addTests(test_scmi.suite())
    mysuite.addTests(test_viirs_edr_flood.suite())
    mysuite.addTests(test_ahi_hrit.suite())
    mysuite.addTests(test_goes_imager_nc.suite())
    mysuite.addTests(test_nc_slstr.suite())
    mysuite.addTests(test_nwcsaf_nc.suite())
    mysuite.addTests(test_seviri_l1b_hrit.suite())
    mysuite.addTests(test_sar_c_safe.suite())
    mysuite.addTests(test_viirs_edr_active_fires.suite())
    mysuite.addTests(test_safe_sar_l2_ocn.suite())
    mysuite.addTests(test_hdfeos_base.suite())
    mysuite.addTests(test_modis_l2.suite())
    mysuite.addTests(test_electrol_hrit.suite())
    mysuite.addTests(test_mersi2_l1b.suite())
    mysuite.addTests(test_avhrr_l1b_gaclac.suite())
    mysuite.addTests(test_vaisala_gld360.suite())
    mysuite.addTests(test_fci_l1c_fdhsi.suite())
    mysuite.addTests(test_abi_l2_nc.suite())
    mysuite.addTests(test_tropomi_l2.suite())
    mysuite.addTests(test_hsaf_grib.suite())
    mysuite.addTests(test_eum_base.suite())
    mysuite.addTests(test_viirs_compact.suite())
    mysuite.addTests(test_ami_l1b.suite())
    mysuite.addTests(test_geos_area.suite())
    mysuite.addTests(test_seviri_l2_bufr.suite())
    mysuite.addTests(test_nwcsaf_msg.suite())
    mysuite.addTests(test_mimic_TPW2_nc.suite())
    mysuite.addTests(test_glm_l2.suite())
    mysuite.addTests(test_seviri_l1b_icare.suite())
    mysuite.addTests(test_slstr_l2.suite())
    mysuite.addTests(test_aapp_l1b.suite())
    mysuite.addTests(test_eps_l1b.suite())
    mysuite.addTests(test_iasi_l2_so2_bufr.suite())
    return mysuite
