public function testCloneConditionnalProcess()
 {
     $this->processCloner->initCloningVariables();
     $id = "P_condProc7_";
     //for var_dump identification
     $this->processCloner->setCloneLabel("__Clone7");
     $activity1 = $this->authoringService->createActivity($this->proc, "{$id}Activity_1");
     $activity1->editPropertyValues(new core_kernel_classes_Property(PROPERTY_ACTIVITIES_ISINITIAL), GENERIS_TRUE);
     $connector1 = $this->authoringService->createConnector($activity1);
     $then1 = $this->authoringService->createConditionalActivity($connector1, 'then', null, "{$id}Activity_2");
     //create "Activity_2"
     $else1 = $this->authoringService->createConditionalActivity($connector1, 'else', null, '', true);
     //create another connector
     // $else1 = $this->authoringService->createConditionalActivity($connector1, 'else');
     $this->assertEquals($connector1->getUniquePropertyValue(new core_kernel_classes_Property(PROPERTY_CONNECTORS_TYPE))->getUri(), INSTANCE_TYPEOFCONNECTORS_CONDITIONAL);
     $this->assertTrue($this->activityService->isActivity($then1));
     $this->assertTrue($this->connectorService->isConnector($else1));
     $transitionRule = $connector1->getUniquePropertyValue(new core_kernel_classes_Property(PROPERTY_CONNECTORS_TRANSITIONRULE));
     $this->assertEquals($then1->getUri(), $transitionRule->getUniquePropertyValue(new core_kernel_classes_Property(PROPERTY_TRANSITIONRULES_THEN))->getUri());
     $this->assertEquals($else1->getUri(), $transitionRule->getUniquePropertyValue(new core_kernel_classes_Property(PROPERTY_TRANSITIONRULES_ELSE))->getUri());
     //create a sequential a
     $connector2 = $this->authoringService->createConnector($then1);
     $lastActivity = $this->authoringService->createSequenceActivity($connector2, null, "{$id}Activity_3");
     //connector "else1": connect the "then" to the activity "then1" and the "else" to
     $then2 = $this->authoringService->createConditionalActivity($else1, 'then', $connector2);
     //connect to the activity $then1
     $else2 = $this->authoringService->createConditionalActivity($else1, 'else', $lastActivity);
     //connect to the connector of the activity $then1
     $this->assertEquals($then2->getUri(), $connector2->getUri());
     $this->assertEquals($else2->getUri(), $lastActivity->getUri());
     //clone the process now!
     $processClone = $this->processCloner->cloneProcess($this->proc);
     $this->assertIsA($processClone, 'core_kernel_classes_Resource');
     $this->assertEquals(count($this->processCloner->getClonedActivities()), 3);
     $this->assertEquals(count($this->processCloner->getClonedConnectors()), 3);
     //count the number of activities in the cloned process
     $activities = $this->authoringService->getActivitiesByProcess($processClone);
     $this->assertEquals(count($activities), 3);
     foreach ($activities as $activity) {
         $this->assertTrue($this->activityService->isActivity($activity));
     }
     $this->authoringService->deleteProcess($processClone);
 }