Skip to content

Commit 87108d9

Browse files
author
Shoshana Berleant
committed
pre-refactor tests
1 parent 89b530a commit 87108d9

File tree

1 file changed

+72
-6
lines changed

1 file changed

+72
-6
lines changed

nipype/algorithms/tests/test_tsnr.py

Lines changed: 72 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from nipype.testing import assert_equal, assert_true, skipif, utils
55
from nipype.algorithms.misc import TSNR
66

7+
from hashlib import sha1
78
import unittest
89
import mock
910
import nibabel as nb
@@ -17,9 +18,11 @@ class TestTSNR(unittest.TestCase):
1718
regress_poly = traits.Range(low=1, desc='Remove polynomials')
1819
'''
1920

20-
filenames = {
21+
in_filenames = {
2122
'in_file': 'tsnrinfile.nii',
23+
}
2224

25+
out_filenames = {
2326
# default output file names
2427
'detrended_file': '/home/ubuntu/nipype/detrend.nii.gz',
2528
'mean_file': '/home/ubuntu/nipype/mean.nii.gz',
@@ -29,17 +32,80 @@ class TestTSNR(unittest.TestCase):
2932

3033
def setUp(self):
3134
# setup
32-
utils.save_toy_nii(self.fake_data, self.filenames['in_file'])
35+
utils.save_toy_nii(self.fake_data, self.in_filenames['in_file'])
3336

3437
def test_tsnr(self):
35-
# setup
3638
# run
37-
tsnrresult = TSNR(in_file=self.in_file_name, regress_poly=1)
39+
tsnrresult = TSNR(in_file=self.in_filenames['in_file']).run()
40+
41+
# assert
42+
self.assert_expected_outputs(tsnrresult, {
43+
'mean_file': '1a55bcdf49901f25a2a838c90769989b9e4f2f19',
44+
'stddev_file': '0ba52a51fae90a9db6090c735432df5b742d663a',
45+
'tsnr_file': 'a794fc55766c8ad725437d3ff8b1153bd5f6e9b0'
46+
})
47+
48+
def test_tsnr_withpoly1(self):
49+
# run
50+
tsnrresult = TSNR(in_file=self.in_filenames['in_file'],
51+
regress_poly=1).run()
52+
3853
# assert
39-
# cleanup
54+
self.assert_expected_outputs_poly(tsnrresult, {
55+
'detrended_file': 'ee4f6c0b0e8c547617fc11aa50cf659436f9ccf0',
56+
'mean_file': '1a55bcdf49901f25a2a838c90769989b9e4f2f19',
57+
'stddev_file': 'e61d94e3cfea20b0c86c81bfdf80d82c55e9203b',
58+
'tsnr_file': 'a49f1cbd88f2aa71183dcd7aa4b86b17df622f0c'
59+
})
60+
61+
def test_tsnr_withpoly2(self):
62+
# run
63+
tsnrresult = TSNR(in_file=self.in_filenames['in_file'],
64+
regress_poly=2).run()
65+
66+
# assert
67+
self.assert_expected_outputs_poly(tsnrresult, {
68+
'detrended_file': '22cb7f058d61cc090eb1a9dd7d31550bd4362a61',
69+
'mean_file': '4cee6776461f6bc238d11a55c0a8d1947a5732df',
70+
'stddev_file': '7267de4d9b63fcc553115c0198f1fa3bbb6a5a13',
71+
'tsnr_file': '1c6ed05f94806838f7b563df65900f37e60f8a6d'
72+
})
73+
74+
def test_tsnr_withpoly3(self):
75+
# run
76+
tsnrresult = TSNR(in_file=self.in_filenames['in_file'],
77+
regress_poly=3).run()
78+
79+
# assert
80+
self.assert_expected_outputs_poly(tsnrresult, {
81+
'detrended_file': '3f2c1c7da233f128a7020b6fed79d6be2ec59fca',
82+
'mean_file': '4cee6776461f6bc238d11a55c0a8d1947a5732df',
83+
'stddev_file': '82bb793b76fab503d1d6b3e2d1b20a1bdebd7a2a',
84+
'tsnr_file': 'e004bd6096a0077b15058aabd4b0339bf6e21f64'
85+
})
86+
87+
def assert_expected_outputs_poly(self, tsnrresult, hash_dict):
88+
assert_equal(tsnrresult.outputs.detrended_file,
89+
self.out_filenames['detrended_file'])
90+
self.assert_expected_outputs(tsnrresult, hash_dict)
91+
92+
def assert_expected_outputs(self, tsnrresult, hash_dict):
93+
self.assert_default_outputs(tsnrresult.outputs)
94+
self.assert_unchanged(hash_dict)
95+
96+
def assert_default_outputs(self, outputs):
97+
assert_equal(outputs.mean_file, self.out_filenames['mean_file'])
98+
assert_equal(outputs.stddev_file, self.out_filenames['stddev_file'])
99+
assert_equal(outputs.tsnr_file, self.out_filenames['tsnr_file'])
100+
101+
def assert_unchanged(self, expected_hashes):
102+
for key, hexhash in expected_hashes.iteritems():
103+
data = np.asanyarray(nb.load(self.out_filenames[key])._data)
104+
assert_equal(sha1(str(data)).hexdigest(), hexhash)
40105

41106
def tearDown(self):
42-
utils.remove_nii(self.filenames.values())
107+
utils.remove_nii(self.in_filenames.values())
108+
utils.remove_nii(self.out_filenames.values())
43109

44110
fake_data = np.array([[[[2, 4, 3, 9, 1],
45111
[3, 6, 4, 7, 4]],

0 commit comments

Comments
 (0)