Files
DesignPatternsPHP/Behavioral/Visitor/Tests/VisitorTest.php
Dominik Liebler 1c30978a70 PHP7 Visitor
2016-09-22 11:29:48 +02:00

38 lines
755 B
PHP

<?php
namespace DesignPatterns\Tests\Visitor\Tests;
use DesignPatterns\Behavioral\Visitor;
class VisitorTest extends \PHPUnit_Framework_TestCase
{
/**
* @var Visitor\RoleVisitor
*/
private $visitor;
protected function setUp()
{
$this->visitor = new Visitor\RoleVisitor();
}
public function provideRoles()
{
return [
[new Visitor\User('Dominik')],
[new Visitor\Group('Administrators')],
];
}
/**
* @dataProvider provideRoles
*
* @param Visitor\Role $role
*/
public function testVisitSomeRole(Visitor\Role $role)
{
$role->accept($this->visitor);
$this->assertSame($role, $this->visitor->getVisited()[0]);
}
}