# HG changeset patch # User Sebastien Jodogne # Date 1444308733 -7200 # Node ID 8de63d56cf11d94298c6cf14f74c62d411b5011d # Parent e7f9b81995455a04e882321dfa426a28afd779c7 test_create_sequence diff -r e7f9b8199545 -r 8de63d56cf11 Tests/Tests.py --- a/Tests/Tests.py Tue Oct 06 16:32:15 2015 +0200 +++ b/Tests/Tests.py Thu Oct 08 14:52:13 2015 +0200 @@ -2307,3 +2307,37 @@ j = DoPost(_REMOTE, '/modalities/orthanctest/store', i2[0:1] + i1 + i2[1:3]) self.assertEqual(6, len(DoGet(_LOCAL, '/instances'))) + + + def test_create_sequence(self): + i = DoPost(_REMOTE, '/tools/create-dicom', + json.dumps({ + 'Tags' : { + 'SpecificCharacterSet': 'ISO_IR 100', # Encode using Latin1 + 'PatientName': 'Jodogne^', + 'ReferencedStudySequence': [ + { + 'StudyDescription': 'Hello^', + 'ReferencedStudySequence' : [ + { + 'StudyDescription': 'Toto', + }, + { + 'StudyDescription': 'Tata', + }, + ] + }, + { + 'StudyDescription': 'Sébastien^', + 'StudyDate' : '19700202', + } + ] + } + }))['ID'] + + self.assertEqual('Jodogne^', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i)) + self.assertEqual('Hello^', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/StudyDescription' % i)) + self.assertEqual('Toto', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/0/StudyDescription' % i)) + self.assertEqual('Tata', DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/0/ReferencedStudySequence/1/StudyDescription' % i)) + self.assertEqual(u'Sébastien^'.encode('latin-1'), + DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence/1/StudyDescription' % i))