| 
<?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 PHPUnit\Framework\TestCase;
 use function Chevere\Parameter\float;
 
 final class FunctionsFloatTest extends TestCase
 {
 public function testFloat(): void
 {
 $parameter = float();
 $this->assertSame('', $parameter->description());
 $this->assertSame(null, $parameter->default());
 $this->assertSame(null, $parameter->min());
 $this->assertSame(null, $parameter->max());
 $this->assertSame([], $parameter->accept());
 $this->assertSame([], $parameter->reject());
 }
 
 public function testFloatOptions(): void
 {
 $description = 'test';
 $default = 5.0;
 $parameter = float(
 description: $description,
 default: $default,
 min: -100,
 max: 100,
 );
 $this->assertSame($description, $parameter->description());
 $this->assertSame($default, $parameter->default());
 $this->assertSame(-100.0, $parameter->min());
 $this->assertSame(100.0, $parameter->max());
 $parameter = float(accept: [0, 1]);
 $this->assertSame([0.0, 1.0], $parameter->accept());
 $parameter = float(reject: [0, 1]);
 $this->assertSame([0.0, 1.0], $parameter->reject());
 }
 
 public function testAssertFloat(): void
 {
 $parameter = float();
 $this->assertSame(0.0, $parameter(0));
 $this->assertSame(0.0, $parameter(0.0));
 }
 }
 
 |