comparison Tests/Tests.py @ 48:e4352463ff74

test_patient_ids_collision
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Oct 2015 15:56:32 +0200
parents f610491f74c3
children e7f9b8199545
comparison
equal deleted inserted replaced
47:f610491f74c3 48:e4352463ff74
2240 'Tags' : tags 2240 'Tags' : tags
2241 })) 2241 }))
2242 2242
2243 self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip()) 2243 self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip())
2244 self.assertEqual(encoded, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID'])[0:-1]) 2244 self.assertEqual(encoded, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID'])[0:-1])
2245
2246
2247 def test_patient_ids_collision(self):
2248 # Upload 3 instances from 3 different studies, but with the
2249 # same PatientID
2250 for i in range(3):
2251 UploadInstance(_REMOTE, 'PatientIdsCollision/Image%d.dcm' % (i + 1))
2252
2253 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Patient',
2254 'Query' : { 'PatientName' : '*' }})
2255 self.assertEqual(1, len(a))
2256 self.assertEqual('COMMON', DoGet(_REMOTE, '/patients/%s' % a[0]) ['MainDicomTags']['PatientID'])
2257
2258 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study',
2259 'CaseSensitive' : True,
2260 'Query' : { 'PatientName' : 'FOO\\HELLO' }})
2261 self.assertEqual(2, len(a))
2262
2263 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
2264 'CaseSensitive' : False,
2265 'Query' : { 'PatientName' : 'Foo' }})
2266 self.assertEqual(1, len(a))
2267 self.assertEqual('FOO^SERIES', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['MainDicomTags']['StudyDescription'])
2268 self.assertEqual('FOO', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['PatientMainDicomTags']['PatientName'])
2269 self.assertEqual('COMMON', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['PatientMainDicomTags']['PatientID'])
2270
2271 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study',
2272 'Query' : { 'PatientName' : '*' }})
2273 self.assertEqual(3, len(a))
2274 d = map(lambda x: DoGet(_REMOTE, '/studies/%s' % x) ['MainDicomTags']['StudyDescription'], a)
2275 self.assertTrue('FOO^SERIES' in d)
2276 self.assertTrue('HELLO^SERIES' in d)
2277 self.assertTrue('WORLD^SERIES' in d)
2278
2279 d = map(lambda x: DoGet(_REMOTE, '/studies/%s' % x) ['PatientMainDicomTags']['PatientID'], a)
2280 self.assertEqual(1, len(set(d)))
2281 self.assertEqual('COMMON', d[0])
2282
2283 for i in a:
2284 d = DoGet(_REMOTE, '/studies/%s' % i) ['MainDicomTags']['StudyDescription']
2285 p = DoGet(_REMOTE, '/studies/%s' % i) ['PatientMainDicomTags']['PatientName']
2286 self.assertEqual('%s^SERIES' % p, d)