コード例 #1
0
 public function testGetType()
 {
     /*
      *  activity > connector1(COND)
      *  -> THEN  > thenConnector(SQ)
      *  -> ELSE > elseConnector (SQ)
      *  -> Act3 > connector2(PARA)
      *  -> Act4 > connector3(JOIN)
      *  -> Act5 > connector4(JOIN)
      * 	-> Acto6
      *
      */
     $connector1 = $this->authoringService->createConnector($this->activity);
     $then = $this->authoringService->createConditionalActivity($connector1, 'then');
     //create "Activity_2"
     $thenConnector = $this->authoringService->createConnector($then, 'then Connector');
     //create "Activity_2"
     $else = $this->authoringService->createConditionalActivity($connector1, 'else', null, '', true);
     //create another connector
     $elseConnector = $this->authoringService->createConnector($else, 'else Connector');
     //create "Activity_2"
     $activity3 = $this->authoringService->createSequenceActivity($thenConnector, null, 'Act3');
     $this->authoringService->createSequenceActivity($elseConnector, $activity3);
     $this->assertIsA($this->service->getType($thenConnector), 'core_kernel_classes_Resource');
     $this->assertIsA($this->service->getType($elseConnector), 'core_kernel_classes_Resource');
     $this->assertEquals($this->service->getType($thenConnector)->getUri(), INSTANCE_TYPEOFCONNECTORS_SEQUENCE);
     $this->assertEquals($this->service->getType($elseConnector)->getUri(), INSTANCE_TYPEOFCONNECTORS_SEQUENCE);
     $myProcessVar1 = $this->variableService->getProcessVariable('myProcessVarCode1', true);
     $transitionRule = $this->authoringService->createTransitionRule($connector1, '^myProcessVarCode1 == 1');
     $connectorType = $this->service->getType($connector1);
     $this->assertEquals($connectorType->getUri(), INSTANCE_TYPEOFCONNECTORS_CONDITIONAL);
     $connector2 = $this->authoringService->createConnector($activity3);
     $activity4 = $this->authoringService->createActivity($this->processDefinition, 'activity4 for interactive service unit test');
     $connector3 = $this->authoringService->createConnector($activity4);
     $activity5 = $this->authoringService->createActivity($this->processDefinition, 'activity5 for interactive service unit test');
     $connector4 = $this->authoringService->createConnector($activity5);
     $newActivitiesArray = array($activity4->getUri() => 2, $activity5->getUri() => 3);
     $this->authoringService->setParallelActivities($connector2, $newActivitiesArray);
     $activity6 = $this->authoringService->createActivity($this->processDefinition);
     $connector3 = wfAuthoring_models_classes_ConnectorService::singleton()->createJoin(array($activity4, $activity5), $activity6);
     /*
             $activity6 = $this->authoringService->createJoinActivity($connector3, null, '', $activity4);
     $activity7 = $this->authoringService->createJoinActivity($connector4, $activity6, '', $activity5);
     */
     //check if the connector merging has been effective:
     $this->assertFalse($connector4->exists());
     //$this->assertEquals($activity6->getUri(), $activity7->getUri());
     $this->assertEquals($this->service->getType($connector2)->getUri(), INSTANCE_TYPEOFCONNECTORS_PARALLEL);
     $this->assertEquals($this->service->getType($connector3)->getUri(), INSTANCE_TYPEOFCONNECTORS_JOIN);
     $then->delete(true);
     $else->delete(true);
     $activity3->delete(true);
     $activity4->delete(true);
     $activity5->delete(true);
     $activity6->delete(true);
     $transitionRule->delete(true);
     $connector1->delete(true);
     $connector2->delete(true);
     $connector3->delete(true);
     //        $connector4->delete(true);
 }