2016-11-08 19:01:05 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Symfony\Component\Workflow\Tests;
|
|
|
|
|
2017-02-20 13:34:33 +00:00
|
|
|
use PHPUnit\Framework\TestCase;
|
2016-11-08 19:01:05 +00:00
|
|
|
use Symfony\Component\Workflow\DefinitionBuilder;
|
2018-05-07 21:13:10 +01:00
|
|
|
use Symfony\Component\Workflow\Metadata\InMemoryMetadataStore;
|
2016-11-08 19:01:05 +00:00
|
|
|
use Symfony\Component\Workflow\Transition;
|
|
|
|
|
2017-02-20 13:34:33 +00:00
|
|
|
class DefinitionBuilderTest extends TestCase
|
2016-11-08 19:01:05 +00:00
|
|
|
{
|
2019-06-28 14:01:48 +01:00
|
|
|
/** @group legacy */
|
2016-11-08 19:01:05 +00:00
|
|
|
public function testSetInitialPlace()
|
|
|
|
{
|
2019-01-16 18:24:45 +00:00
|
|
|
$builder = new DefinitionBuilder(['a', 'b']);
|
2016-11-08 19:01:05 +00:00
|
|
|
$builder->setInitialPlace('b');
|
|
|
|
$definition = $builder->build();
|
|
|
|
|
2019-03-06 20:59:33 +00:00
|
|
|
$this->assertEquals(['b'], $definition->getInitialPlaces());
|
2016-11-08 19:01:05 +00:00
|
|
|
}
|
|
|
|
|
2019-06-28 14:01:48 +01:00
|
|
|
public function testSetInitialPlaces()
|
|
|
|
{
|
|
|
|
$builder = new DefinitionBuilder(['a', 'b']);
|
|
|
|
$builder->setInitialPlaces('b');
|
|
|
|
$definition = $builder->build();
|
|
|
|
|
|
|
|
$this->assertEquals(['b'], $definition->getInitialPlaces());
|
|
|
|
}
|
|
|
|
|
2016-11-08 19:01:05 +00:00
|
|
|
public function testAddTransition()
|
|
|
|
{
|
|
|
|
$places = range('a', 'b');
|
|
|
|
|
|
|
|
$transition0 = new Transition('name0', $places[0], $places[1]);
|
|
|
|
$transition1 = new Transition('name1', $places[0], $places[1]);
|
2019-01-16 18:24:45 +00:00
|
|
|
$builder = new DefinitionBuilder($places, [$transition0]);
|
2016-11-08 19:01:05 +00:00
|
|
|
$builder->addTransition($transition1);
|
|
|
|
|
|
|
|
$definition = $builder->build();
|
|
|
|
|
|
|
|
$this->assertCount(2, $definition->getTransitions());
|
|
|
|
$this->assertSame($transition0, $definition->getTransitions()[0]);
|
|
|
|
$this->assertSame($transition1, $definition->getTransitions()[1]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testAddPlace()
|
|
|
|
{
|
2019-01-16 18:24:45 +00:00
|
|
|
$builder = new DefinitionBuilder(['a'], []);
|
2016-11-08 19:01:05 +00:00
|
|
|
$builder->addPlace('b');
|
|
|
|
|
|
|
|
$definition = $builder->build();
|
|
|
|
|
|
|
|
$this->assertCount(2, $definition->getPlaces());
|
|
|
|
$this->assertEquals('a', $definition->getPlaces()['a']);
|
|
|
|
$this->assertEquals('b', $definition->getPlaces()['b']);
|
|
|
|
}
|
2018-05-07 21:13:10 +01:00
|
|
|
|
|
|
|
public function testSetMetadataStore()
|
|
|
|
{
|
2019-01-16 18:24:45 +00:00
|
|
|
$builder = new DefinitionBuilder(['a']);
|
2018-05-07 21:13:10 +01:00
|
|
|
$metadataStore = new InMemoryMetadataStore();
|
|
|
|
$builder->setMetadataStore($metadataStore);
|
|
|
|
$definition = $builder->build();
|
|
|
|
|
|
|
|
$this->assertSame($metadataStore, $definition->getMetadataStore());
|
|
|
|
}
|
2016-11-08 19:01:05 +00:00
|
|
|
}
|