public function testSetSteps()
 {
     $stepOne = new WorkflowStep();
     $stepOne->setName('step1');
     $this->workflowDefinition->addStep($stepOne);
     $stepTwo = new WorkflowStep();
     $stepTwo->setName('step2');
     $this->workflowDefinition->addStep($stepTwo);
     $stepThree = new WorkflowStep();
     $stepThree->setName('step3');
     $this->workflowDefinition->addStep($stepThree);
     $this->assertCount(3, $this->workflowDefinition->getSteps());
     $this->assertTrue($this->workflowDefinition->hasStepByName('step3'));
     $this->workflowDefinition->removeStep($stepThree);
     $this->assertFalse($this->workflowDefinition->hasStepByName('step3'));
     $this->assertCount(2, $this->workflowDefinition->getSteps());
     $this->workflowDefinition->setSteps(new ArrayCollection(array($stepOne)));
     $actualSteps = $this->workflowDefinition->getSteps();
     $this->assertCount(1, $actualSteps);
     $this->assertEquals($stepOne, $actualSteps[0]);
 }
 public function testImport()
 {
     $step = new WorkflowStep();
     $step->setName('step');
     $definition = new WorkflowDefinition();
     $definition->addStep($step);
     $this->entityAcl->setAttribute('attribute');
     $this->entityAcl->setStep($step);
     $this->entityAcl->setEntityClass('TestEntity');
     $this->entityAcl->setUpdatable(false);
     $this->entityAcl->setDeletable(false);
     $newEntityAcl = new WorkflowEntityAcl();
     $newEntityAcl->setDefinition($definition);
     $this->assertEquals($newEntityAcl, $newEntityAcl->import($this->entityAcl));
     $this->assertEquals('attribute', $newEntityAcl->getAttribute());
     $this->assertEquals($step, $newEntityAcl->getStep());
     $this->assertEquals('TestEntity', $newEntityAcl->getEntityClass());
     $this->assertFalse($this->entityAcl->isUpdatable());
     $this->assertFalse($this->entityAcl->isDeletable());
     $this->assertEquals($this->entityAcl->getAttributeStepKey(), $newEntityAcl->getAttributeStepKey());
 }