| Total Complexity | 5 | 
| Total Lines | 29 | 
| Duplicated Lines | 0 % | 
| Changes | 0 | ||
| 1 | import torch  | 
            ||
| 2 | |||
| 3 | import torchio as tio  | 
            ||
| 4 | from ...utils import TorchioTestCase  | 
            ||
| 5 | |||
| 6 | |||
| 7 | class TestCopyAffine(TorchioTestCase):  | 
            ||
| 8 | """Tests for `CopyAffine`."""  | 
            ||
| 9 | |||
| 10 | def test_missing_reference(self):  | 
            ||
| 11 | transform = tio.CopyAffine(target='missing')  | 
            ||
| 12 | with self.assertRaises(RuntimeError):  | 
            ||
| 13 | transform(self.sample_subject)  | 
            ||
| 14 | |||
| 15 | def test_wrong_target_type(self):  | 
            ||
| 16 | with self.assertRaises(ValueError):  | 
            ||
| 17 | tio.CopyAffine(target=[1])  | 
            ||
| 18 | |||
| 19 | def test_same_affine(self):  | 
            ||
| 20 | image = tio.ScalarImage(tensor=torch.rand(2, 2, 2, 2))  | 
            ||
| 21 | mask = tio.LabelMap(tensor=torch.rand(2, 2, 2, 2))  | 
            ||
| 22 | mask.affine *= 1.1  | 
            ||
| 23 | subject = tio.Subject(t1=image, mask=mask)  | 
            ||
| 24 |         transform = tio.CopyAffine('t1') | 
            ||
| 25 | transformed = transform(subject)  | 
            ||
| 26 | self.assertTensorEqual(  | 
            ||
| 27 | transformed['t1'].affine,  | 
            ||
| 28 | transformed['mask'].affine,  | 
            ||
| 29 | )  | 
            ||
| 30 |