# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> # # SPDX-License-Identifier: GPL-3.0-or-later """Tests for the aggregated Montgomery-Shenzhen dataset.""" import importlib import pytest @pytest.mark.parametrize( "name", [ "default", "fold_0", "fold_1", "fold_2", "fold_3", "fold_4", "fold_5", "fold_6", "fold_7", "fold_8", "fold_9", ], ) def test_split_consistency(name: str): montgomery = importlib.import_module( f".{name}", "mednet.config.data.montgomery" ).datamodule shenzhen = importlib.import_module( f".{name}", "mednet.config.data.shenzhen" ).datamodule combined = importlib.import_module( f".{name}", "mednet.config.data.montgomery_shenzhen" ).datamodule MontgomeryLoader = importlib.import_module( ".datamodule", "mednet.config.data.montgomery" ).RawDataLoader ShenzhenLoader = importlib.import_module( ".datamodule", "mednet.config.data.shenzhen" ).RawDataLoader for split in ("train", "validation", "test"): assert montgomery.splits[split][0][0] == combined.splits[split][0][0] assert isinstance(montgomery.splits[split][0][1], MontgomeryLoader) assert isinstance(combined.splits[split][0][1], MontgomeryLoader) assert shenzhen.splits[split][0][0] == combined.splits[split][1][0] assert isinstance(shenzhen.splits[split][0][1], ShenzhenLoader) assert isinstance(combined.splits[split][1][1], ShenzhenLoader)