changeset 667:44405af8cfc5

cont
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 12 Jul 2024 10:16:28 +0200
parents acd22dd27e30
children f92a2036fb96
files Tests/Tests.py
diffstat 1 files changed, 94 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Tests/Tests.py	Fri Jul 12 08:00:03 2024 +0200
+++ b/Tests/Tests.py	Fri Jul 12 10:16:28 2024 +0200
@@ -4138,6 +4138,7 @@
             knee.append(UploadInstance(_REMOTE, 'Knee/T1/IM-0001-000%d.dcm' % (i + 1)) ['ID'])
 
         # Check using BRAINIX
+        # The tests below correspond to "isSimpleLookup_ == true" in "ResourceFinder"
         a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Instance',
                                              'Query' : { 'PatientName' : 'B*' },
                                              'Limit' : 10 })
@@ -4204,6 +4205,99 @@
 
         self.assertEqual(0, len(set(b) ^ set(knee)))
 
+        # Now test "isSimpleLookup_ == false"
+        a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' }})
+        self.assertEqual(3, len(a))
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Limit' : 0})
+        self.assertEqual(3, len(b))
+        self.assertEqual(a[0], b[0])
+        self.assertEqual(a[1], b[1])
+        self.assertEqual(a[2], b[2])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Limit' : 1})
+        self.assertEqual(1, len(b))
+        self.assertEqual(a[0], b[0])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 0,
+                                             'Limit' : 1})
+        self.assertEqual(1, len(b))
+        self.assertEqual(a[0], b[0])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 0,
+                                             'Limit' : 3})
+        self.assertEqual(3, len(b))
+        self.assertEqual(a[0], b[0])
+        self.assertEqual(a[1], b[1])
+        self.assertEqual(a[2], b[2])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 0,
+                                             'Limit' : 4})
+        self.assertEqual(3, len(b))
+        self.assertEqual(a[0], b[0])
+        self.assertEqual(a[1], b[1])
+        self.assertEqual(a[2], b[2])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 1,
+                                             'Limit' : 1})
+        self.assertEqual(1, len(b))
+        self.assertEqual(a[1], b[0])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 1,
+                                             'Limit' : 2})
+        self.assertEqual(2, len(b))
+        self.assertEqual(a[1], b[0])
+        self.assertEqual(a[2], b[1])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 1,
+                                             'Limit' : 3})
+        self.assertEqual(2, len(b))
+        self.assertEqual(a[1], b[0])
+        self.assertEqual(a[2], b[1])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 2,
+                                             'Limit' : 1})
+        self.assertEqual(1, len(b))
+        self.assertEqual(a[2], b[0])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 2,
+                                             'Limit' : 2})
+        self.assertEqual(1, len(b))
+        self.assertEqual(a[2], b[0])
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 3,
+                                             'Limit' : 1})
+        self.assertEqual(0, len(b))
+
+        b = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series',
+                                             'Query' : { 'PatientPosition' : '*' },
+                                             'Since' : 3,
+                                             'Limit' : 10})
+        self.assertEqual(0, len(b))
+
 
     def test_bitbucket_issue_46(self):
         # "PHI remaining after anonymization"