public function testGetNextConnectors() { $processAuthoringService = wfAuthoring_models_classes_ProcessService::singleton(); $processDefinitionClass = new core_kernel_classes_Class(CLASS_PROCESS); $processDefinition = $processDefinitionClass->createInstance('ProcessForUnitTest', 'Unit test'); $authoringService = wfAuthoring_models_classes_ProcessService::singleton(); //define activities and connectors $activity1 = $authoringService->createActivity($processDefinition, 'activity1'); $this->assertNotNull($activity1); $authoringService->setFirstActivity($processDefinition, $activity1); $this->assertTrue(count($this->service->getNextConnectors($activity1)) == 0); $connector1 = $authoringService->createConnector($activity1); $connectorList = $this->service->getNextConnectors($activity1); $this->assertTrue(count($connectorList) == 1); $this->assertTrue(array_key_exists($connector1->getUri(), $connectorList)); $authoringService->setConnectorType($connector1, new core_kernel_classes_Resource(INSTANCE_TYPEOFCONNECTORS_SEQUENCE)); $activity2 = $authoringService->createSequenceActivity($connector1, null, 'activity2'); $connectorList = $this->service->getNextConnectors($activity1); $this->assertTrue(count($connectorList) == 1); $this->assertTrue(array_key_exists($connector1->getUri(), $connectorList)); $connector2 = $authoringService->createConnector($activity2); $then = $authoringService->createConditionalActivity($connector2, 'then'); //create "Activity_2" $else = $authoringService->createConditionalActivity($connector2, 'else', null, '', true); //create another connector $connector3 = $authoringService->createConnector($then); $activity3 = $authoringService->createSequenceActivity($connector3, null, 'activity3'); $this->assertTrue(count($this->service->getNextConnectors($else)) == 0); $this->assertTrue(count($this->service->getNextConnectors($then)) == 1); $this->assertTrue(count($this->service->getNextConnectors($activity3)) == 0); $activity1->delete(true); $connector1->delete(true); $connector2->delete(true); $connector3->delete(true); $then->delete(true); $else->delete(true); $activity2->delete(true); $activity3->delete(true); $processDefinition->delete(true); }