Coverage for nilearn/decoding/tests/test_sklearn_compatibility.py: 0%

16 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-16 12:32 +0200

1import traceback 

2 

3import pytest 

4 

5from nilearn.decoding.space_net import BaseSpaceNet 

6 

7 

8@pytest.mark.parametrize("penalty", ["graph-net", "tv-l1"]) 

9@pytest.mark.parametrize("is_classif", [True, False]) 

10@pytest.mark.parametrize( 

11 "param", 

12 [ 

13 "max_iter", 

14 "alphas", 

15 "l1_ratios", 

16 "verbose", 

17 "tol", 

18 "mask", 

19 "memory", 

20 "fit_intercept", 

21 "alphas", 

22 ], 

23) 

24def test_get_params(penalty, is_classif, param): 

25 # Issue #12 (on github) reported that our objects 

26 # get_params() methods returned empty dicts. 

27 

28 kwargs = {} 

29 m = BaseSpaceNet( 

30 mask="dummy", 

31 penalty=penalty, 

32 is_classif=is_classif, 

33 **kwargs, 

34 ) 

35 try: 

36 params = m.get_params() 

37 except AttributeError: 

38 if "get_params" in traceback.format_exc(): 

39 params = m._get_params() 

40 else: 

41 raise 

42 

43 assert param in params, f"{m} doesn't have parameter '{param}'."