Coverage for NeuralTSNE/NeuralTSNE/Utils/Preprocessing/Filters/tests/test_filters.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-18 16:32 +0000

1import numpy as np 

2import pytest 

3import torch 

4 

5from NeuralTSNE.Utils.Preprocessing.Filters import filter_data_by_variance 

6 

7 

8@pytest.mark.parametrize( 

9 "data_variance, variance_threshold, filtered_data", [([5, 7, 10, 3, 4], 6, [1, 2])] 

10) 

11def test_filter_data_by_variance(data_variance, variance_threshold, filtered_data): 

12 sample_size = 10000 

13 

14 artificial_data = [ 

15 np.random.normal(0, variance**0.5, sample_size) for variance in data_variance 

16 ] 

17 artificial_data = torch.tensor(np.array(artificial_data).T) 

18 

19 filtered_data = artificial_data[:, filtered_data] 

20 

21 result = filter_data_by_variance(artificial_data, variance_threshold) 

22 assert torch.allclose(result, filtered_data)