forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
67 lines
1.6 KiB
PHP
67 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace CommerceGuys\Addressing\Tests;
|
|
|
|
use CommerceGuys\Addressing\Subdivision\PatternType;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @coversDefaultClass \CommerceGuys\Addressing\AbstractEnum
|
|
*/
|
|
final class AbstractEnumTest extends TestCase
|
|
{
|
|
/**
|
|
* @covers ::getAll
|
|
*/
|
|
public function testGetAll()
|
|
{
|
|
$expectedValues = ['FULL' => 'full', 'START' => 'start'];
|
|
$values = PatternType::getAll();
|
|
$this->assertEquals($expectedValues, $values);
|
|
}
|
|
|
|
/**
|
|
* @covers ::getKey
|
|
*/
|
|
public function testGetKey()
|
|
{
|
|
$key = PatternType::getKey('full');
|
|
$this->assertEquals('FULL', $key);
|
|
|
|
$key = PatternType::getKey('invalid');
|
|
$this->assertEquals(false, $key);
|
|
}
|
|
|
|
/**
|
|
* @covers ::exists
|
|
*/
|
|
public function testExists()
|
|
{
|
|
$result = PatternType::exists('start');
|
|
$this->assertEquals(true, $result);
|
|
|
|
$result = PatternType::exists('invalid');
|
|
$this->assertEquals(false, $result);
|
|
}
|
|
|
|
/**
|
|
* @covers ::assertExists
|
|
*/
|
|
public function testAssertExists()
|
|
{
|
|
$this->expectExceptionMessage("\"invalid\" is not a valid PatternType value.");
|
|
$this->expectException(\InvalidArgumentException::class);
|
|
$result = PatternType::assertExists('invalid');
|
|
}
|
|
|
|
/**
|
|
* @covers ::assertAllExist
|
|
*/
|
|
public function testAssertAllExist()
|
|
{
|
|
$this->expectExceptionMessage("\"invalid\" is not a valid PatternType value.");
|
|
$this->expectException(\InvalidArgumentException::class);
|
|
$result = PatternType::assertAllExist(['start', 'invalid']);
|
|
}
|
|
}
|