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); }