# typedload
# Copyright (C) 2018-2026 Salvo "LtWorf" Tomaselli
#
# typedload 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.
#
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
#
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>


import unittest
import sys

print('Running tests using %s' % sys.version)
if sys.version_info.major != 3 or sys.version_info.minor < 10:
    raise Exception('Only version 3.10 and above supported')

from .test_dataloader import *
from .test_datadumper import *
from .test_dumpload import *
from .test_exceptions import *
from .test_dataclass import *
from .test_deferred import *
from .test_legacytuples_dataloader import *
from .test_typechecks import *
from .test_datetime import *
from .test_literal import *
from .test_typeddict import *
from .test_moretypes import *
from .test_name_manglers import *

if sys.version_info.minor >= 12:
    from .test_typealias import *
else:
    print("============\n\nWARNING: SKIPPING TYPEALIAS TESTS ⚠️🚦🛑")

# Run tests for attr only if it is installed
try:
    import attr
    from .test_attrload import *
except ImportError:
    print("============\n\nWARNING: SKIPPING ATTR TESTS ⚠️🚦🛑")


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