trueskill/tests/Numerics/RangeTest.php

46 lines
1.3 KiB
PHP
Raw Normal View History

2024-02-02 14:53:38 +00:00
<?php
declare(strict_types=1);
2024-01-16 15:07:14 +00:00
namespace DNW\Skills\Tests\Numerics;
use DNW\Skills\Numerics\Range;
use PHPUnit\Framework\TestCase;
2024-01-16 15:07:14 +00:00
use Exception;
class RangeTest extends TestCase
{
public function testConstructInvalidParam(): void
{
$this->expectException(Exception::class);
2024-02-21 13:29:09 +00:00
new Range(10, 5);
2024-01-16 15:07:14 +00:00
}
public function testFactoryInclusiveInvalidParam(): void
{
$this->expectException(Exception::class);
2024-02-21 13:29:09 +00:00
Range::inclusive(10, 5);
2024-01-16 15:07:14 +00:00
}
public function testNormalUse(): void
{
$range = Range::inclusive(1, 10);
$this->assertEquals(1, $range->getMin());
$this->assertEquals(10, $range->getMax());
2024-02-06 13:45:40 +00:00
$this->assertEquals(FALSE, $range->isInRange(0));
$this->assertEquals(TRUE, $range->isInRange(1));
$this->assertEquals(TRUE, $range->isInRange(2));
$this->assertEquals(TRUE, $range->isInRange(9));
$this->assertEquals(TRUE, $range->isInRange(10));
$this->assertEquals(FALSE, $range->isInRange(11));
$range = Range::atLeast(20);
$this->assertEquals(20, $range->getMin());
$this->assertEquals(PHP_INT_MAX, $range->getMax());
$range = Range::exactly(5);
$this->assertEquals(5, $range->getMin());
$this->assertEquals(5, $range->getMax());
2024-01-16 15:07:14 +00:00
}
}