1f3fa6d90SGreg Roach<?php 23976b470SGreg Roach 3f3fa6d90SGreg Roach/** 4f3fa6d90SGreg Roach * webtrees: online genealogy 5d11be702SGreg Roach * Copyright (C) 2023 webtrees development team 6f3fa6d90SGreg Roach * This program is free software: you can redistribute it and/or modify 7f3fa6d90SGreg Roach * it under the terms of the GNU General Public License as published by 8f3fa6d90SGreg Roach * the Free Software Foundation, either version 3 of the License, or 9f3fa6d90SGreg Roach * (at your option) any later version. 10f3fa6d90SGreg Roach * This program is distributed in the hope that it will be useful, 11f3fa6d90SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 12f3fa6d90SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13f3fa6d90SGreg Roach * GNU General Public License for more details. 14f3fa6d90SGreg Roach * You should have received a copy of the GNU General Public License 1589f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>. 16f3fa6d90SGreg Roach */ 17fcfa147eSGreg Roach 18e7f56f2aSGreg Roachdeclare(strict_types=1); 19e7f56f2aSGreg Roach 20f3fa6d90SGreg Roachnamespace Fisharebest\Webtrees\Census; 21f3fa6d90SGreg Roach 22ddf438a5SGreg Roachuse Fisharebest\Webtrees\Individual; 233cfcc809SGreg Roachuse Fisharebest\Webtrees\TestCase; 24*202c018bSGreg Roachuse PHPUnit\Framework\Attributes\CoversClass; 25f3fa6d90SGreg Roach 26*202c018bSGreg Roach#[CoversClass(CensusColumnGivenNameInitial::class)] 27*202c018bSGreg Roach#[CoversClass(AbstractCensusColumn::class)] 283cfcc809SGreg Roachclass CensusColumnGivenNameInitialTest extends TestCase 29c1010edaSGreg Roach{ 309b802b22SGreg Roach public function testOneGivenName(): void 31c1010edaSGreg Roach { 32cd94ca66SGreg Roach $individual = $this->createMock(Individual::class); 330ecdbde6SGreg Roach $individual->method('getAllNames')->willReturn([['givn' => 'Joe']]); 34f3fa6d90SGreg Roach 35cd94ca66SGreg Roach $census = $this->createMock(CensusInterface::class); 36f3fa6d90SGreg Roach 37f3fa6d90SGreg Roach $column = new CensusColumnGivenNameInitial($census, '', ''); 38f3fa6d90SGreg Roach 395e933c21SGreg Roach self::assertSame('Joe', $column->generate($individual, $individual)); 40f3fa6d90SGreg Roach } 41f3fa6d90SGreg Roach 429b802b22SGreg Roach public function testMultipleGivenNames(): void 43c1010edaSGreg Roach { 44cd94ca66SGreg Roach $individual = $this->createMock(Individual::class); 450ecdbde6SGreg Roach $individual->method('getAllNames')->willReturn([['givn' => 'Joe Fred']]); 46f3fa6d90SGreg Roach 47cd94ca66SGreg Roach $census = $this->createMock(CensusInterface::class); 48f3fa6d90SGreg Roach 49f3fa6d90SGreg Roach $column = new CensusColumnGivenNameInitial($census, '', ''); 50f3fa6d90SGreg Roach 515e933c21SGreg Roach self::assertSame('Joe F', $column->generate($individual, $individual)); 52f3fa6d90SGreg Roach } 53f3fa6d90SGreg Roach 549b802b22SGreg Roach public function testNoName(): void 55c1010edaSGreg Roach { 56cd94ca66SGreg Roach $individual = $this->createMock(Individual::class); 570ecdbde6SGreg Roach $individual->method('getAllNames')->willReturn([]); 58f3fa6d90SGreg Roach 59cd94ca66SGreg Roach $census = $this->createMock(CensusInterface::class); 60f3fa6d90SGreg Roach 61f3fa6d90SGreg Roach $column = new CensusColumnGivenNameInitial($census, '', ''); 62f3fa6d90SGreg Roach 635e933c21SGreg Roach self::assertSame('', $column->generate($individual, $individual)); 64f3fa6d90SGreg Roach } 65f3fa6d90SGreg Roach} 66