<?php
/*
* This file is part of Chevere.
*
* (c) Rodolfo Berrios <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chevere\Tests;
use Chevere\Parameter\Interfaces\TypeInterface;
use Chevere\VarDump\Processors\ArrayProcessor;
use Chevere\VarDump\Processors\BoolProcessor;
use Chevere\VarDump\Processors\FloatProcessor;
use Chevere\VarDump\Processors\IntProcessor;
use Chevere\VarDump\Processors\NullProcessor;
use Chevere\VarDump\Processors\ObjectProcessor;
use Chevere\VarDump\Processors\ResourceProcessor;
use Chevere\VarDump\Processors\StringProcessor;
use Chevere\VarDump\VarDumpable;
use PHPUnit\Framework\TestCase;
use stdClass;
final class VarDumpableTest extends TestCase
{
public function testConstruct(): void
{
$variables = [
TypeInterface::ARRAY => [
[], ArrayProcessor::class,
],
TypeInterface::BOOL => [
true, BoolProcessor::class,
],
TypeInterface::FLOAT => [
1.1, FloatProcessor::class,
],
TypeInterface::INT => [
1, IntProcessor::class,
],
TypeInterface::NULL => [
null, NullProcessor::class,
],
TypeInterface::OBJECT => [
new stdClass(), ObjectProcessor::class,
],
TypeInterface::RESOURCE => [
fopen(__FILE__, 'r'),
ResourceProcessor::class,
],
TypeInterface::STRING => [
'',
StringProcessor::class,
],
];
foreach ($variables as $type => $var) {
$variableDump = new VarDumpable($var[0]);
$this->assertSame($var[0], $variableDump->var());
$this->assertSame($type, $variableDump->type());
}
}
}
|