6
6
import pytest
7
7
import nipype .interfaces .fsl .model as fsl
8
8
from nipype .interfaces .fsl import no_fsl
9
+ from pathlib import Path
10
+ from ....pipeline import engine as pe
9
11
10
12
11
13
@pytest .mark .skipif (no_fsl (), reason = "fsl is not installed" )
12
14
def test_MultipleRegressDesign (tmpdir ):
13
- tmpdir .chdir ()
14
- foo = fsl .MultipleRegressDesign ()
15
- foo .inputs .regressors = dict (
15
+ designer = pe .Node (fsl .MultipleRegressDesign (), name = 'designer' , base_dir = str (tmpdir ))
16
+ designer .inputs .regressors = dict (
16
17
voice_stenght = [1 , 1 , 1 ], age = [0.2 , 0.4 , 0.5 ], BMI = [1 , - 1 , 2 ]
17
18
)
18
19
con1 = ["voice_and_age" , "T" , ["age" , "voice_stenght" ], [0.5 , 0.5 ]]
19
20
con2 = ["just_BMI" , "T" , ["BMI" ], [1 ]]
20
- foo .inputs .contrasts = [con1 , con2 , ["con3" , "F" , [con1 , con2 ]]]
21
- res = foo .run ()
21
+ designer .inputs .contrasts = [con1 , con2 , ["con3" , "F" , [con1 , con2 ]], ["con4" , "F" , [con2 ]]]
22
+ res = designer .run ()
23
+ outputs = res .outputs .get_traitsfree ()
22
24
23
- for ii in ["mat" , "con" , "fts" , "grp" ]:
24
- assert (
25
- getattr (res .outputs , "design_" + ii ) == tmpdir .join ("design." + ii ).strpath
26
- )
25
+ for ftype in ["mat" , "con" , "fts" , "grp" ]:
26
+ assert Path (outputs ["design_" + ftype ]).exists ()
27
27
28
- design_mat_expected_content = """/NumWaves 3
28
+ expected_content = {}
29
+
30
+ expected_content ["design_mat" ] = """/NumWaves 3
29
31
/NumPoints 3
30
32
/PPheights 3.000000e+00 5.000000e-01 1.000000e+00
31
33
@@ -35,7 +37,7 @@ def test_MultipleRegressDesign(tmpdir):
35
37
2.000000e+00 5.000000e-01 1.000000e+00
36
38
"""
37
39
38
- design_con_expected_content = """/ContrastName1 voice_and_age
40
+ expected_content [ "design_con" ] = """/ContrastName1 voice_and_age
39
41
/ContrastName2 just_BMI
40
42
/NumWaves 3
41
43
/NumContrasts 2
@@ -47,22 +49,22 @@ def test_MultipleRegressDesign(tmpdir):
47
49
1.000000e+00 0.000000e+00 0.000000e+00
48
50
"""
49
51
50
- design_fts_expected_content = """/NumWaves 2
51
- /NumContrasts 1
52
+ expected_content [ "design_fts" ] = """/NumWaves 2
53
+ /NumContrasts 2
52
54
53
55
/Matrix
54
56
1 1
57
+ 0 1
55
58
"""
56
59
57
- design_grp_expected_content = """/NumWaves 1
60
+ expected_content [ "design_grp" ] = """/NumWaves 1
58
61
/NumPoints 3
59
62
60
63
/Matrix
61
64
1
62
65
1
63
66
1
64
67
"""
65
- for ii in ["mat" , "con" , "fts" , "grp" ]:
66
- assert tmpdir .join ("design." + ii ).read () == eval (
67
- "design_" + ii + "_expected_content"
68
- )
68
+ for ftype in ["mat" , "con" , "fts" , "grp" ]:
69
+ outfile = "design_" + ftype
70
+ assert Path (outputs [outfile ]).read_text () == expected_content [outfile ]
0 commit comments