xref: /webtrees/tests/app/Census/CensusColumnBornForeignPartsTest.php (revision 89f7189b61a494347591c99bdb92afb7d8b66e1b)
1db7d25eeSGreg Roach<?php
23976b470SGreg Roach
3db7d25eeSGreg Roach/**
4db7d25eeSGreg Roach * webtrees: online genealogy
5*89f7189bSGreg Roach * Copyright (C) 2021 webtrees development team
6db7d25eeSGreg Roach * This program is free software: you can redistribute it and/or modify
7db7d25eeSGreg Roach * it under the terms of the GNU General Public License as published by
8db7d25eeSGreg Roach * the Free Software Foundation, either version 3 of the License, or
9db7d25eeSGreg Roach * (at your option) any later version.
10db7d25eeSGreg Roach * This program is distributed in the hope that it will be useful,
11db7d25eeSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
12db7d25eeSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13db7d25eeSGreg Roach * GNU General Public License for more details.
14db7d25eeSGreg Roach * You should have received a copy of the GNU General Public License
15*89f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>.
16db7d25eeSGreg Roach */
17fcfa147eSGreg Roach
18e7f56f2aSGreg Roachdeclare(strict_types=1);
19e7f56f2aSGreg Roach
20db7d25eeSGreg Roachnamespace Fisharebest\Webtrees\Census;
21db7d25eeSGreg Roach
22ddf438a5SGreg Roachuse Fisharebest\Webtrees\Individual;
2352348eb8SGreg Roachuse Fisharebest\Webtrees\Place;
243cfcc809SGreg Roachuse Fisharebest\Webtrees\TestCase;
25392561bbSGreg Roachuse Illuminate\Support\Collection;
26db7d25eeSGreg Roach
27db7d25eeSGreg Roach/**
28db7d25eeSGreg Roach * Test harness for the class CensusColumnBornForeignParts
29db7d25eeSGreg Roach */
303cfcc809SGreg Roachclass CensusColumnBornForeignPartsTest extends TestCase
31c1010edaSGreg Roach{
32db7d25eeSGreg Roach    /**
3316d0b7f7SRico Sonntag     * Get place mock.
3416d0b7f7SRico Sonntag     *
3516d0b7f7SRico Sonntag     * @param string $place Gedcom Place
3616d0b7f7SRico Sonntag     *
3752348eb8SGreg Roach     * @return Place
3816d0b7f7SRico Sonntag     */
395e933c21SGreg Roach    private function getPlaceMock(string $place): Place
40c1010edaSGreg Roach    {
4116d0b7f7SRico Sonntag        $placeParts = explode(', ', $place);
4216d0b7f7SRico Sonntag
435e933c21SGreg Roach        $placeMock = self::createMock(Place::class);
440ecdbde6SGreg Roach        $placeMock->method('gedcomName')->willReturn($place);
450ecdbde6SGreg Roach        $placeMock->method('lastParts')->willReturn((new Collection($placeParts))->slice(-1));
4616d0b7f7SRico Sonntag
4716d0b7f7SRico Sonntag        return $placeMock;
4816d0b7f7SRico Sonntag    }
4916d0b7f7SRico Sonntag
5016d0b7f7SRico Sonntag    /**
5115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
5215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
5352348eb8SGreg Roach     *
5452348eb8SGreg Roach     * @return void
55db7d25eeSGreg Roach     */
569b802b22SGreg Roach    public function testBornEnglandCensusEngland(): void
57c1010edaSGreg Roach    {
585e933c21SGreg Roach        $individual = self::createMock(Individual::class);
590ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('London, England'));
60db7d25eeSGreg Roach
615e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
620ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
63db7d25eeSGreg Roach
64ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
65db7d25eeSGreg Roach
665e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
67db7d25eeSGreg Roach    }
68db7d25eeSGreg Roach
69db7d25eeSGreg Roach    /**
7015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
7115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
7252348eb8SGreg Roach     *
7352348eb8SGreg Roach     * @return void
74db7d25eeSGreg Roach     */
759b802b22SGreg Roach    public function testBornWalesCensusEngland(): void
76c1010edaSGreg Roach    {
775e933c21SGreg Roach        $individual = self::createMock(Individual::class);
780ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Cardiff, Wales'));
79db7d25eeSGreg Roach
805e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
810ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
82db7d25eeSGreg Roach
83ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
84db7d25eeSGreg Roach
855e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
86db7d25eeSGreg Roach    }
87db7d25eeSGreg Roach
88db7d25eeSGreg Roach    /**
8915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
9015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
9152348eb8SGreg Roach     *
9252348eb8SGreg Roach     * @return void
93db7d25eeSGreg Roach     */
949b802b22SGreg Roach    public function testBornScotlandCensusEngland(): void
95c1010edaSGreg Roach    {
965e933c21SGreg Roach        $individual = self::createMock(Individual::class);
970ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Edinburgh, Scotland'));
98db7d25eeSGreg Roach
995e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1000ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
101db7d25eeSGreg Roach
102ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
103db7d25eeSGreg Roach
1045e933c21SGreg Roach        self::assertSame('S', $column->generate($individual, $individual));
105db7d25eeSGreg Roach    }
106db7d25eeSGreg Roach
107db7d25eeSGreg Roach    /**
10815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
10915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
11052348eb8SGreg Roach     *
11152348eb8SGreg Roach     * @return void
112db7d25eeSGreg Roach     */
1139b802b22SGreg Roach    public function testBornIrelandCensusEngland(): void
114c1010edaSGreg Roach    {
1155e933c21SGreg Roach        $individual = self::createMock(Individual::class);
1160ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Dublin, Ireland'));
117db7d25eeSGreg Roach
1185e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1190ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
120db7d25eeSGreg Roach
121ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
122db7d25eeSGreg Roach
1235e933c21SGreg Roach        self::assertSame('I', $column->generate($individual, $individual));
124db7d25eeSGreg Roach    }
125db7d25eeSGreg Roach
126db7d25eeSGreg Roach    /**
12715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
12815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
12952348eb8SGreg Roach     *
13052348eb8SGreg Roach     * @return void
131db7d25eeSGreg Roach     */
1329b802b22SGreg Roach    public function testBornForeignCensusEngland(): void
133c1010edaSGreg Roach    {
1345e933c21SGreg Roach        $individual = self::createMock(Individual::class);
1350ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Elbonia'));
136db7d25eeSGreg Roach
1375e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1380ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
139db7d25eeSGreg Roach
140ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
141db7d25eeSGreg Roach
1425e933c21SGreg Roach        self::assertSame('F', $column->generate($individual, $individual));
143db7d25eeSGreg Roach    }
144db7d25eeSGreg Roach
145db7d25eeSGreg Roach    /**
14615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
14715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
14852348eb8SGreg Roach     *
14952348eb8SGreg Roach     * @return void
150db7d25eeSGreg Roach     */
1519b802b22SGreg Roach    public function testBornEnglandCensusIreland(): void
152c1010edaSGreg Roach    {
1535e933c21SGreg Roach        $individual = self::createMock(Individual::class);
1540ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('London, England'));
155db7d25eeSGreg Roach
1565e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1570ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Ireland');
158db7d25eeSGreg Roach
159ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
160db7d25eeSGreg Roach
1615e933c21SGreg Roach        self::assertSame('E', $column->generate($individual, $individual));
162db7d25eeSGreg Roach    }
163db7d25eeSGreg Roach
164db7d25eeSGreg Roach    /**
16515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
16615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
16752348eb8SGreg Roach     *
16852348eb8SGreg Roach     * @return void
169db7d25eeSGreg Roach     */
1709b802b22SGreg Roach    public function testBornWalesCensusIreland(): void
171c1010edaSGreg Roach    {
1725e933c21SGreg Roach        $individual = self::createMock(Individual::class);
1730ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Cardiff, Wales'));
174db7d25eeSGreg Roach
1755e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1760ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Ireland');
177db7d25eeSGreg Roach
178ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
179db7d25eeSGreg Roach
1805e933c21SGreg Roach        self::assertSame('E', $column->generate($individual, $individual));
181db7d25eeSGreg Roach    }
182db7d25eeSGreg Roach
183db7d25eeSGreg Roach    /**
18415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
18515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
18652348eb8SGreg Roach     *
18752348eb8SGreg Roach     * @return void
188db7d25eeSGreg Roach     */
1899b802b22SGreg Roach    public function testBornScotlandCensusIreland(): void
190c1010edaSGreg Roach    {
1915e933c21SGreg Roach        $individual = self::createMock(Individual::class);
1920ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Edinburgh, Scotland'));
193db7d25eeSGreg Roach
1945e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
1950ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Ireland');
196db7d25eeSGreg Roach
197ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
198db7d25eeSGreg Roach
1995e933c21SGreg Roach        self::assertSame('S', $column->generate($individual, $individual));
200db7d25eeSGreg Roach    }
201db7d25eeSGreg Roach
202db7d25eeSGreg Roach    /**
20315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
20415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
20552348eb8SGreg Roach     *
20652348eb8SGreg Roach     * @return void
207db7d25eeSGreg Roach     */
2089b802b22SGreg Roach    public function testBornIrelandCensusIreland(): void
209c1010edaSGreg Roach    {
2105e933c21SGreg Roach        $individual = self::createMock(Individual::class);
2110ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Dublin, Ireland'));
212db7d25eeSGreg Roach
2135e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
2140ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Ireland');
215db7d25eeSGreg Roach
216ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
217db7d25eeSGreg Roach
2185e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
219db7d25eeSGreg Roach    }
220db7d25eeSGreg Roach
221db7d25eeSGreg Roach    /**
22215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
22315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
22452348eb8SGreg Roach     *
22552348eb8SGreg Roach     * @return void
226db7d25eeSGreg Roach     */
2279b802b22SGreg Roach    public function testBornForeignCensusIreland(): void
228c1010edaSGreg Roach    {
2295e933c21SGreg Roach        $individual = self::createMock(Individual::class);
2300ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Elbonia'));
231db7d25eeSGreg Roach
2325e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
2330ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Ireland');
234db7d25eeSGreg Roach
235ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
236db7d25eeSGreg Roach
2375e933c21SGreg Roach        self::assertSame('F', $column->generate($individual, $individual));
238db7d25eeSGreg Roach    }
239db7d25eeSGreg Roach
240db7d25eeSGreg Roach    /**
24115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
24215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
24352348eb8SGreg Roach     *
24452348eb8SGreg Roach     * @return void
245db7d25eeSGreg Roach     */
2469b802b22SGreg Roach    public function testBornEnglandCensusScotland(): void
247c1010edaSGreg Roach    {
2485e933c21SGreg Roach        $individual = self::createMock(Individual::class);
2490ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('London, England'));
250db7d25eeSGreg Roach
2515e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
2520ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
253db7d25eeSGreg Roach
254ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
255db7d25eeSGreg Roach
2565e933c21SGreg Roach        self::assertSame('E', $column->generate($individual, $individual));
257db7d25eeSGreg Roach    }
258db7d25eeSGreg Roach
259db7d25eeSGreg Roach    /**
26015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
26115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
26252348eb8SGreg Roach     *
26352348eb8SGreg Roach     * @return void
264db7d25eeSGreg Roach     */
2659b802b22SGreg Roach    public function testBornWalesCensusScotland(): void
266c1010edaSGreg Roach    {
2675e933c21SGreg Roach        $individual = self::createMock(Individual::class);
2680ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Cardiff, Wales'));
269db7d25eeSGreg Roach
2705e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
2710ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
272db7d25eeSGreg Roach
273ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
274db7d25eeSGreg Roach
2755e933c21SGreg Roach        self::assertSame('E', $column->generate($individual, $individual));
276db7d25eeSGreg Roach    }
277db7d25eeSGreg Roach
278db7d25eeSGreg Roach    /**
27915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
28015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
28152348eb8SGreg Roach     *
28252348eb8SGreg Roach     * @return void
283db7d25eeSGreg Roach     */
2849b802b22SGreg Roach    public function testBornScotlandCensusScotland(): void
285c1010edaSGreg Roach    {
2865e933c21SGreg Roach        $individual = self::createMock(Individual::class);
2870ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Edinburgh, Scotland'));
288db7d25eeSGreg Roach
2895e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
2900ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
291db7d25eeSGreg Roach
292ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
293db7d25eeSGreg Roach
2945e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
295db7d25eeSGreg Roach    }
296db7d25eeSGreg Roach
297db7d25eeSGreg Roach    /**
29815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
29915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
30052348eb8SGreg Roach     *
30152348eb8SGreg Roach     * @return void
302db7d25eeSGreg Roach     */
3039b802b22SGreg Roach    public function testBornIrelandCensusScotland(): void
304c1010edaSGreg Roach    {
3055e933c21SGreg Roach        $individual = self::createMock(Individual::class);
3060ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Dublin, Ireland'));
307db7d25eeSGreg Roach
3085e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
3090ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
310db7d25eeSGreg Roach
311ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
312db7d25eeSGreg Roach
3135e933c21SGreg Roach        self::assertSame('I', $column->generate($individual, $individual));
314db7d25eeSGreg Roach    }
315db7d25eeSGreg Roach
316db7d25eeSGreg Roach    /**
31715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
31815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
31952348eb8SGreg Roach     *
32052348eb8SGreg Roach     * @return void
321db7d25eeSGreg Roach     */
3229b802b22SGreg Roach    public function testBornForeignCensusScotland(): void
323c1010edaSGreg Roach    {
3245e933c21SGreg Roach        $individual = self::createMock(Individual::class);
3250ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Elbonia'));
326db7d25eeSGreg Roach
3275e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
3280ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
329db7d25eeSGreg Roach
330ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
331db7d25eeSGreg Roach
3325e933c21SGreg Roach        self::assertSame('F', $column->generate($individual, $individual));
333db7d25eeSGreg Roach    }
334db7d25eeSGreg Roach
335db7d25eeSGreg Roach    /**
33615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
33715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
33852348eb8SGreg Roach     *
33952348eb8SGreg Roach     * @return void
340db7d25eeSGreg Roach     */
3419b802b22SGreg Roach    public function testBornEnglandCensusWales(): void
342c1010edaSGreg Roach    {
3435e933c21SGreg Roach        $individual = self::createMock(Individual::class);
3440ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('London, England'));
345db7d25eeSGreg Roach
3465e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
3470ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
348db7d25eeSGreg Roach
349ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
350db7d25eeSGreg Roach
3515e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
352db7d25eeSGreg Roach    }
353db7d25eeSGreg Roach
354db7d25eeSGreg Roach    /**
35515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
35615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
35752348eb8SGreg Roach     *
35852348eb8SGreg Roach     * @return void
359db7d25eeSGreg Roach     */
3609b802b22SGreg Roach    public function testBornWalesCensusWales(): void
361c1010edaSGreg Roach    {
3625e933c21SGreg Roach        $individual = self::createMock(Individual::class);
3630ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Cardiff, Wales'));
364db7d25eeSGreg Roach
3655e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
3660ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
367db7d25eeSGreg Roach
368ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
369db7d25eeSGreg Roach
3705e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
371db7d25eeSGreg Roach    }
372db7d25eeSGreg Roach
373db7d25eeSGreg Roach    /**
37415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
37515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
37652348eb8SGreg Roach     *
37752348eb8SGreg Roach     * @return void
378db7d25eeSGreg Roach     */
3799b802b22SGreg Roach    public function testBornScotlandCensusWales(): void
380c1010edaSGreg Roach    {
3815e933c21SGreg Roach        $individual = self::createMock(Individual::class);
3820ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Edinburgh, Scotland'));
383db7d25eeSGreg Roach
3845e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
3850ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
386db7d25eeSGreg Roach
387ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
388db7d25eeSGreg Roach
3895e933c21SGreg Roach        self::assertSame('S', $column->generate($individual, $individual));
390db7d25eeSGreg Roach    }
391db7d25eeSGreg Roach
392db7d25eeSGreg Roach    /**
39315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
39415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
39552348eb8SGreg Roach     *
39652348eb8SGreg Roach     * @return void
397db7d25eeSGreg Roach     */
3989b802b22SGreg Roach    public function testBornIrelandCensusWales(): void
399c1010edaSGreg Roach    {
4005e933c21SGreg Roach        $individual = self::createMock(Individual::class);
4010ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Dublin, Ireland'));
402db7d25eeSGreg Roach
4035e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
4040ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
405db7d25eeSGreg Roach
406ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
407db7d25eeSGreg Roach
4085e933c21SGreg Roach        self::assertSame('I', $column->generate($individual, $individual));
409db7d25eeSGreg Roach    }
410db7d25eeSGreg Roach
411db7d25eeSGreg Roach    /**
41215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
41315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
41452348eb8SGreg Roach     *
41552348eb8SGreg Roach     * @return void
416db7d25eeSGreg Roach     */
4179b802b22SGreg Roach    public function testBornForeignCensusWales(): void
418c1010edaSGreg Roach    {
4195e933c21SGreg Roach        $individual = self::createMock(Individual::class);
4200ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock('Elbonia'));
421db7d25eeSGreg Roach
4225e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
4230ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
424db7d25eeSGreg Roach
425ef21b467SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
426db7d25eeSGreg Roach
4275e933c21SGreg Roach        self::assertSame('F', $column->generate($individual, $individual));
428db7d25eeSGreg Roach    }
429b164ca57SGreg Roach
430b164ca57SGreg Roach    /**
43115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
43215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
43352348eb8SGreg Roach     *
43452348eb8SGreg Roach     * @return void
435b164ca57SGreg Roach     */
4369b802b22SGreg Roach    public function testBornNowhereCensusEngland(): void
437c1010edaSGreg Roach    {
4385e933c21SGreg Roach        $individual = self::createMock(Individual::class);
4390ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock(''));
440b164ca57SGreg Roach
4415e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
4420ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('England');
443b164ca57SGreg Roach
444b164ca57SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
445b164ca57SGreg Roach
4465e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
447b164ca57SGreg Roach    }
448b164ca57SGreg Roach
449b164ca57SGreg Roach    /**
45015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
45115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
45252348eb8SGreg Roach     *
45352348eb8SGreg Roach     * @return void
454b164ca57SGreg Roach     */
4559b802b22SGreg Roach    public function testBornNowhereCensusWales(): void
456c1010edaSGreg Roach    {
4575e933c21SGreg Roach        $individual = self::createMock(Individual::class);
4580ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock(''));
459b164ca57SGreg Roach
4605e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
4610ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Wales');
462b164ca57SGreg Roach
463b164ca57SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
464b164ca57SGreg Roach
4655e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
466b164ca57SGreg Roach    }
467b164ca57SGreg Roach
468b164ca57SGreg Roach    /**
46915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
47015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
47152348eb8SGreg Roach     *
47252348eb8SGreg Roach     * @return void
473b164ca57SGreg Roach     */
4749b802b22SGreg Roach    public function testBornNowhereCensusScotland(): void
475c1010edaSGreg Roach    {
4765e933c21SGreg Roach        $individual = self::createMock(Individual::class);
4770ecdbde6SGreg Roach        $individual->method('getBirthPlace')->willReturn($this->getPlaceMock(''));
478b164ca57SGreg Roach
4795e933c21SGreg Roach        $census = self::createMock(CensusInterface::class);
4800ecdbde6SGreg Roach        $census->method('censusPlace')->willReturn('Scotland');
481b164ca57SGreg Roach
482b164ca57SGreg Roach        $column = new CensusColumnBornForeignParts($census, '', '');
483b164ca57SGreg Roach
4845e933c21SGreg Roach        self::assertSame('', $column->generate($individual, $individual));
485b164ca57SGreg Roach    }
486db7d25eeSGreg Roach}
487