# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch> # # SPDX-License-Identifier: GPL-3.0-or-later """Tests for data utils.""" import numpy import pytest from ptbench.configs.datasets.montgomery_RS import fold_0 as mc @pytest.mark.skip_if_rc_var_not_set("datadir.montgomery") def test_random_permute(): test_set = mc.dataset["test"] original = numpy.zeros(len(test_set)) # Store second feature values for k, s in enumerate(test_set._samples): original[k] = s.data["data"][2] # Permute second feature values test_set.random_permute(2) nb_equal = 0.0 for k, s in enumerate(test_set._samples): if original[k] == s.data["data"][2]: nb_equal += 1 else: # Value is somewhere else in array assert s.data["data"][2] in original # Max 30% of samples have not changed assert nb_equal / len(test_set) < 0.30