Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 51:264a20a0276d
test_modify_sequence
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 09 Oct 2015 13:31:37 +0200 |
parents | 8de63d56cf11 |
children | 7c08e542db23 |
comparison
equal
deleted
inserted
replaced
50:8de63d56cf11 | 51:264a20a0276d |
---|---|
74 if abs(d) >= 0.51: # Add some tolerance for rounding errors | 74 if abs(d) >= 0.51: # Add some tolerance for rounding errors |
75 return False | 75 return False |
76 | 76 |
77 return True | 77 return True |
78 | 78 |
79 | |
80 | |
81 def GenerateTestSequence(): | |
82 return [ | |
83 { | |
84 'StudyDescription': 'Hello^', | |
85 'ReferencedStudySequence' : [ | |
86 { | |
87 'StudyDescription': 'Toto', | |
88 }, | |
89 { | |
90 'StudyDescription': 'Tata', | |
91 }, | |
92 ] | |
93 }, | |
94 { | |
95 'StudyDescription': 'Sébastien^', | |
96 'StudyDate' : '19700202', | |
97 } | |
98 ] | |
79 | 99 |
80 | 100 |
81 | 101 |
82 | 102 |
83 class Orthanc(unittest.TestCase): | 103 class Orthanc(unittest.TestCase): |
2313 i = DoPost(_REMOTE, '/tools/create-dicom', | 2333 i = DoPost(_REMOTE, '/tools/create-dicom', |
2314 json.dumps({ | 2334 json.dumps({ |
2315 'Tags' : { | 2335 'Tags' : { |
2316 'SpecificCharacterSet': 'ISO_IR 100', # Encode using Latin1 | 2336 'SpecificCharacterSet': 'ISO_IR 100', # Encode using Latin1 |
2317 'PatientName': 'Jodogne^', | 2337 'PatientName': 'Jodogne^', |
2318 'ReferencedStudySequence': [ | 2338 'ReferencedStudySequence': GenerateTestSequence(), |
2319 { | |
2320 'StudyDescription': 'Hello^', | |
2321 'ReferencedStudySequence' : [ | |
2322 { | |
2323 'StudyDescription': 'Toto', | |
2324 }, | |
2325 { | |
2326 'StudyDescription': 'Tata', | |
2327 }, | |
2328 ] | |
2329 }, | |
2330 { | |
2331 'StudyDescription': 'Sébastien^', | |
2332 'StudyDate' : '19700202', | |
2333 } | |
2334 ] | |
2335 } | 2339 } |
2336 }))['ID'] | 2340 }))['ID'] |
2337 | 2341 |
2338 self.assertEqual('Jodogne^', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i)) | 2342 self.assertEqual('Jodogne^', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i)) |
2339 self.assertEqual('Hello^', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/StudyDescription' % i)) | 2343 self.assertEqual('Hello^', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/StudyDescription' % i)) |
2340 self.assertEqual('Toto', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/0/StudyDescription' % i)) | 2344 self.assertEqual('Toto', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/0/StudyDescription' % i)) |
2341 self.assertEqual('Tata', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/1/StudyDescription' % i)) | 2345 self.assertEqual('Tata', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/1/StudyDescription' % i)) |
2342 self.assertEqual(u'Sébastien^'.encode('latin-1'), | 2346 self.assertEqual(u'Sébastien^'.encode('latin-1'), |
2343 DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/1/StudyDescription' % i)) | 2347 DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/1/StudyDescription' % i)) |
2348 | |
2349 | |
2350 def test_modify_sequence(self): | |
2351 i = UploadInstance(_REMOTE, 'PrivateTags.dcm')['ID'] | |
2352 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence' % i)) | |
2353 | |
2354 j = DoPost(_REMOTE, '/instances/%s/modify' % i, | |
2355 json.dumps({ | |
2356 "Replace" : { | |
2357 "PatientName" : "hello", | |
2358 'ReferencedStudySequence': GenerateTestSequence(), | |
2359 }, | |
2360 }), | |
2361 'application/json') | |
2362 j = DoPost(_REMOTE, '/instances', j, 'application/dicom')['ID'] | |
2363 DoDelete(_REMOTE, '/instances/%s' % i) | |
2364 | |
2365 self.assertEqual(2, len( DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence' % j))) |