1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
<?php
declare(strict_types=1);
namespace DI\Test\UnitTest\Definition;
use DI\Definition\ArrayDefinition;
use PHPUnit\Framework\TestCase;
/**
* @covers \DI\Definition\ArrayDefinition
*/
#[\PHPUnit\Framework\Attributes\CoversClass(\DI\Definition\ArrayDefinition::class)]
class ArrayDefinitionTest extends TestCase
{
/**
* @test
*/
#[\PHPUnit\Framework\Attributes\Test]
public function should_contain_values()
{
$definition = new ArrayDefinition(['bar']);
$definition->setName('foo');
$this->assertEquals('foo', $definition->getName());
$this->assertEquals(['bar'], $definition->getValues());
}
/**
* @test
*/
#[\PHPUnit\Framework\Attributes\Test]
public function should_cast_to_string()
{
$definition = new ArrayDefinition([
'hello',
'world',
]);
$str = "[
0 => 'hello',
1 => 'world',
]";
$this->assertEquals($str, (string) $definition);
}
/**
* @test
*/
#[\PHPUnit\Framework\Attributes\Test]
public function should_cast_to_string_with_string_keys()
{
$str = "[
'test' => 'hello',
]";
$this->assertEquals($str, (string) new ArrayDefinition(['test' => 'hello']));
}
/**
* @test
*/
#[\PHPUnit\Framework\Attributes\Test]
public function should_cast_to_string_with_nested_definitions()
{
$definition = new ArrayDefinition([
\DI\get('foo'),
\DI\env('foo'),
]);
$str = '[
0 => get(foo),
1 => Environment variable (
variable = foo
optional = no
),
]';
$this->assertEquals($str, (string) $definition);
}
}
|