test_DICOM.MyTestCase.test_wrong_syntax()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
import pydicom
2
import sys
3
import os
4
import argparse
5
import getpass
6
import logging
7
import unittest
8
from DICOM import DICOM_TransferSyntaxCheck, DICOM_validator, DICOM_retrieveMRN, DICOM_computeScanAge, DICOM_anonymizer
9
10
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
11
12
def get_test_DICOM_path():
13
    from pydicom.data import get_testdata_files
14
    filename = get_testdata_files("rtplan.dcm")[0]
15
    return filename
16
17
def test_DICOM_validator():
18
19
    file_name= get_test_DICOM_path()
20
    success, data = DICOM_validator(file_name)
21
    assert success
22
23
    file_name = ".coverage"
24
    success, data = DICOM_validator(file_name)
25
    assert not success
26
27
def test_DICOM_TransferSyntaxCheck():
28
    assert (DICOM_TransferSyntaxCheck('1.2.840.10008.1.2'))
29
    assert (DICOM_TransferSyntaxCheck('1.2.840.10008.1.2.1'))
30
    assert (DICOM_TransferSyntaxCheck('1.2.840.10008.1.2.2'))
31
    assert not (DICOM_TransferSyntaxCheck('1.2.840.10008.1.2.4'))
32
    assert not (DICOM_TransferSyntaxCheck('1.2.840.10008.1.2.4.57'))
33
34
class MyTestCase(unittest.TestCase):
35
    def test_wrong_syntax(self):
36
        self.assertRaises(ValueError, DICOM_TransferSyntaxCheck, 'FakeTest')
37
38
39
def test_DICOM_retrieveMRN():
40
    file_name = get_test_DICOM_path()
41
    success, MRN = DICOM_retrieveMRN(file_name)
42
    assert success
43
    assert (MRN == 'CNBP0010001')
44
45
def test_DICOM_computerScanAge():
46
    logger = logging.getLogger("DICOM compute age")
47
    success, Age = DICOM_computeScanAge("0000000A")
48
    assert success
49
    logger.info(Age.day)
50
51
def test_DICOM_anonymizer():
52
    file_name = get_test_DICOM_path()
53
    success = DICOM_anonymizer(file_name, "CNBP0010001")
54
    assert success
55
56
57
if __name__ == '__main__':
58
    test_DICOM_validator()
59
    Test = MyTestCase()
60
    Test.test_wrong_syntax()
61
    test_DICOM_TransferSyntaxCheck()
62
    test_DICOM_computerScanAge()
63
    test_DICOM_validator()
64
    test_DICOM_anonymizer()
65
    test_DICOM_retrieveMRN()