. */ declare(strict_types=1); namespace Fisharebest\Webtrees; use Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\IcelandicSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\MatrilinealSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\PaternalSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\PolishSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\PortugueseSurnameTradition; use Fisharebest\Webtrees\SurnameTradition\SpanishSurnameTradition; /** * Test harness for the class SurnameTradition */ class SurnameTraditionTest extends TestCase { /** * @covers \Fisharebest\Webtrees\SurnameTradition::create * @return void */ public function testCreate(): void { $this->assertInstanceOf(DefaultSurnameTradition::class, SurnameTradition::create('none')); $this->assertInstanceOf(IcelandicSurnameTradition::class, SurnameTradition::create('icelandic')); $this->assertInstanceOf(LithuanianSurnameTradition::class, SurnameTradition::create('lithuanian')); $this->assertInstanceOf(MatrilinealSurnameTradition::class, SurnameTradition::create('matrilineal')); $this->assertInstanceOf(PaternalSurnameTradition::class, SurnameTradition::create('paternal')); $this->assertInstanceOf(PatrilinealSurnameTradition::class, SurnameTradition::create('patrilineal')); $this->assertInstanceOf(PolishSurnameTradition::class, SurnameTradition::create('polish')); $this->assertInstanceOf(PortugueseSurnameTradition::class, SurnameTradition::create('portuguese')); $this->assertInstanceOf(SpanishSurnameTradition::class, SurnameTradition::create('spanish')); } /** * Test create() with invalid input * * @covers \Fisharebest\Webtrees\SurnameTradition::create * @return void */ public function testCreateInvalid(): void { $this->assertInstanceOf(DefaultSurnameTradition::class, SurnameTradition::create('FOOBAR')); } /** * Test allDescriptions() * * @covers \Fisharebest\Webtrees\SurnameTradition::allDescriptions * @return void */ public function testAllDescriptions(): void { $descriptions = SurnameTradition::allDescriptions(); $this->assertCount(9, $descriptions); } }