Coverage for /scratch/builds/bob/bob.med.tb/miniconda/conda-bld/bob.med.tb_1637571489937/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.8/site-packages/bob/med/tb/test/test_data_utils.py: 35%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

17 statements  

1#!/usr/bin/env python 

2# coding=utf-8 

3 

4 

5"""Tests for data utils""" 

6 

7import numpy 

8 

9from ..configs.datasets.montgomery_RS import fold_0 as mc 

10import pytest 

11 

12 

13@pytest.mark.skip_if_rc_var_not_set("bob.med.tb.montgomery.datadir") 

14def test_random_permute(): 

15 

16 test_set = mc.dataset["test"] 

17 

18 original = numpy.zeros((len(test_set))) 

19 

20 # Store second feature values 

21 for k, s in enumerate(test_set._samples): 

22 original[k] = s.data["data"][2] 

23 

24 # Permute second feature values 

25 test_set.random_permute(2) 

26 

27 nb_equal = 0.0 

28 

29 for k, s in enumerate(test_set._samples): 

30 

31 if original[k] == s.data["data"][2]: 

32 nb_equal += 1 

33 else: 

34 # Value is somewhere else in array 

35 assert s.data["data"][2] in original 

36 

37 # Max 30% of samples have not changed 

38 assert nb_equal / len(test_set) < 0.30