public function testQueryStudy()
 {
     // query on MRN
     $server_ip = '134.174.12.21';
     $server_port = 104;
     $user_aetitle = 'FNNDSC-CHRISDEV';
     $pacs_mrn = new PACS($server_ip, $server_port, $user_aetitle);
     $pacs_mrn->addParameter('PatientID', 4562009);
     $result_mrn = $pacs_mrn->queryStudy();
     // should return 4 results
     $this->assertTrue(count($result_mrn['PatientID']) == 4);
     // query on name
     $pacs_name = new PACS($server_ip, $server_port, $user_aetitle);
     $pacs_name->addParameter('PatientName', 'RONDO^RAJON');
     $result_name = $pacs_name->queryStudy();
     // should return 1 result
     $this->assertTrue(count($result_name['PatientName']) == 1);
     // query on MRN and name
     $pacs_mrn_name = new PACS($server_ip, $server_port, $user_aetitle);
     $pacs_mrn_name->addParameter('PatientID', 4562009);
     $pacs_mrn_name->addParameter('PatientName', 'RONDO^RAJON');
     $result_mrn_name = $pacs_mrn_name->queryStudy();
     // MRN should take over, 4 results should be returned then
     $this->assertTrue(count($result_mrn_name['PatientID']) == 4);
     // we add unknown parameters
     $pacs_fake = new PACS($server_ip, $server_port, $user_aetitle);
     $pacs_fake->addParameter('PatientID', 4562009);
     $pacs_fake->addParameter('FakeParameter', 'IAmAFakeParameter');
     $result_fake = $pacs_fake->queryStudy();
     // should return null
     $this->assertTrue($result_fake == null);
     // we add not enough parameter (no user AE Title)
     $pacs_not_enough = new PACS($server_ip, $server_port);
     $pacs_not_enough->addParameter('PatientID', 4562009);
     $result_not_enough = $pacs_not_enough->queryStudy();
     // should return null
     $this->assertTrue($result_not_enough == null);
 }