xref: /webtrees/tests/app/SurnameTradition/LithuanianSurnameTraditionTest.php (revision 74d6dc0ec259c643834b111577684e38e74234c8)
1323788f4SGreg Roach<?php
2323788f4SGreg Roach/**
3323788f4SGreg Roach * webtrees: online genealogy
48fcd0d32SGreg Roach * Copyright (C) 2019 webtrees development team
5323788f4SGreg Roach * This program is free software: you can redistribute it and/or modify
6323788f4SGreg Roach * it under the terms of the GNU General Public License as published by
7323788f4SGreg Roach * the Free Software Foundation, either version 3 of the License, or
8323788f4SGreg Roach * (at your option) any later version.
9323788f4SGreg Roach * This program is distributed in the hope that it will be useful,
10323788f4SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
11323788f4SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12323788f4SGreg Roach * GNU General Public License for more details.
13323788f4SGreg Roach * You should have received a copy of the GNU General Public License
14323788f4SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>.
15323788f4SGreg Roach */
16e7f56f2aSGreg Roachdeclare(strict_types=1);
17e7f56f2aSGreg Roach
1884e2cf4eSGreg Roachnamespace Fisharebest\Webtrees\SurnameTradition;
19c1010edaSGreg Roach
20323788f4SGreg Roach/**
21323788f4SGreg Roach * Test harness for the class SpanishSurnameTradition
22323788f4SGreg Roach */
2384e2cf4eSGreg Roachclass LithuanianSurnameTraditionTest extends \Fisharebest\Webtrees\TestCase
24c1010edaSGreg Roach{
25323788f4SGreg Roach    /** @var SurnameTraditionInterface */
26323788f4SGreg Roach    private $surname_tradition;
27323788f4SGreg Roach
28323788f4SGreg Roach    /**
29323788f4SGreg Roach     * Prepare the environment for these tests
3052348eb8SGreg Roach     *
3152348eb8SGreg Roach     * @return void
32323788f4SGreg Roach     */
330115bc16SGreg Roach    protected function setUp()
34c1010edaSGreg Roach    {
350115bc16SGreg Roach        parent::setUp();
360115bc16SGreg Roach
37*74d6dc0eSGreg Roach        $this->surname_tradition = new LithuanianSurnameTradition();
38323788f4SGreg Roach    }
39323788f4SGreg Roach
40323788f4SGreg Roach    /**
41323788f4SGreg Roach     * Test whether married surnames are used
4217d74f3aSGreg Roach     *
4315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
4415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
4552348eb8SGreg Roach     *
4652348eb8SGreg Roach     * @return void
47323788f4SGreg Roach     */
489b802b22SGreg Roach    public function testMarriedSurnames(): void
49c1010edaSGreg Roach    {
50323788f4SGreg Roach        $this->assertSame(true, $this->surname_tradition->hasMarriedNames());
51323788f4SGreg Roach    }
52323788f4SGreg Roach
53323788f4SGreg Roach    /**
54c1ec7145SGreg Roach     * Test whether surnames are used
5517d74f3aSGreg Roach     *
5615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
5715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
5852348eb8SGreg Roach     *
5952348eb8SGreg Roach     * @return void
60c1ec7145SGreg Roach     */
619b802b22SGreg Roach    public function testSurnames(): void
62c1010edaSGreg Roach    {
63c1ec7145SGreg Roach        $this->assertSame(true, $this->surname_tradition->hasSurnames());
64c1ec7145SGreg Roach    }
65c1ec7145SGreg Roach
66c1ec7145SGreg Roach    /**
67323788f4SGreg Roach     * Test new son names
6817d74f3aSGreg Roach     *
6915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
7015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
7152348eb8SGreg Roach     *
7252348eb8SGreg Roach     * @return void
73323788f4SGreg Roach     */
749b802b22SGreg Roach    public function testNewSonNames(): void
75c1010edaSGreg Roach    {
76323788f4SGreg Roach        $this->assertSame(
77c1010edaSGreg Roach            [
78c1010edaSGreg Roach                'NAME' => '/White/',
79c1010edaSGreg Roach                'SURN' => 'White',
80c1010edaSGreg Roach            ],
81323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'M')
82323788f4SGreg Roach        );
83323788f4SGreg Roach    }
84323788f4SGreg Roach
85323788f4SGreg Roach    /**
86323788f4SGreg Roach     * Test new daughter names
8717d74f3aSGreg Roach     *
8815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
8915d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
9052348eb8SGreg Roach     *
9152348eb8SGreg Roach     * @return void
92323788f4SGreg Roach     */
939b802b22SGreg Roach    public function testNewDaughterNames(): void
94c1010edaSGreg Roach    {
95323788f4SGreg Roach        $this->assertSame(
96c1010edaSGreg Roach            [
97c1010edaSGreg Roach                'NAME' => '/White/',
98c1010edaSGreg Roach                'SURN' => 'White',
99c1010edaSGreg Roach            ],
100323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'F')
101323788f4SGreg Roach        );
102323788f4SGreg Roach    }
103323788f4SGreg Roach
104323788f4SGreg Roach    /**
105323788f4SGreg Roach     * Test new daughter names
10617d74f3aSGreg Roach     *
10715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
10815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
10952348eb8SGreg Roach     *
11052348eb8SGreg Roach     * @return void
111323788f4SGreg Roach     */
1129b802b22SGreg Roach    public function testNewDaughterNamesInflected(): void
113c1010edaSGreg Roach    {
114323788f4SGreg Roach        $this->assertSame(
115c1010edaSGreg Roach            [
116c1010edaSGreg Roach                'NAME' => '/Whitaitė/',
117c1010edaSGreg Roach                'SURN' => 'Whita',
118c1010edaSGreg Roach            ],
119323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whita/', 'Mary /Black/', 'F')
120323788f4SGreg Roach        );
121323788f4SGreg Roach        $this->assertSame(
122c1010edaSGreg Roach            [
123c1010edaSGreg Roach                'NAME' => '/Whitaitė/',
124c1010edaSGreg Roach                'SURN' => 'Whitas',
125c1010edaSGreg Roach            ],
126323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whitas/', 'Mary /Black/', 'F')
127323788f4SGreg Roach        );
128323788f4SGreg Roach        $this->assertSame(
129c1010edaSGreg Roach            [
130c1010edaSGreg Roach                'NAME' => '/Whitytė/',
131c1010edaSGreg Roach                'SURN' => 'Whitis',
132c1010edaSGreg Roach            ],
133323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whitis/', 'Mary /Black/', 'F')
134323788f4SGreg Roach        );
135323788f4SGreg Roach        $this->assertSame(
136c1010edaSGreg Roach            [
137c1010edaSGreg Roach                'NAME' => '/Whitytė/',
138c1010edaSGreg Roach                'SURN' => 'Whitys',
139c1010edaSGreg Roach            ],
140323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whitys/', 'Mary /Black/', 'F')
141323788f4SGreg Roach        );
142323788f4SGreg Roach        $this->assertSame(
143c1010edaSGreg Roach            [
144c1010edaSGreg Roach                'NAME' => '/Whitiūtė/',
145c1010edaSGreg Roach                'SURN' => 'Whitius',
146c1010edaSGreg Roach            ],
147323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whitius/', 'Mary /Black/', 'F')
148323788f4SGreg Roach        );
149323788f4SGreg Roach        $this->assertSame(
150c1010edaSGreg Roach            [
151c1010edaSGreg Roach                'NAME' => '/Whitutė/',
152c1010edaSGreg Roach                'SURN' => 'Whitus',
153c1010edaSGreg Roach            ],
154323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /Whitus/', 'Mary /Black/', 'F')
155323788f4SGreg Roach        );
156323788f4SGreg Roach    }
157323788f4SGreg Roach
158323788f4SGreg Roach    /**
159323788f4SGreg Roach     * Test new child names
16017d74f3aSGreg Roach     *
16115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
16215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
16352348eb8SGreg Roach     *
16452348eb8SGreg Roach     * @return void
165323788f4SGreg Roach     */
1669b802b22SGreg Roach    public function testNewChildNames(): void
167c1010edaSGreg Roach    {
168323788f4SGreg Roach        $this->assertSame(
169c1010edaSGreg Roach            [
170c1010edaSGreg Roach                'NAME' => '/White/',
171c1010edaSGreg Roach                'SURN' => 'White',
172c1010edaSGreg Roach            ],
173323788f4SGreg Roach            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'U')
174323788f4SGreg Roach        );
175323788f4SGreg Roach    }
176323788f4SGreg Roach
177323788f4SGreg Roach    /**
1781677a03aSGreg Roach     * Test new child names
17917d74f3aSGreg Roach     *
18015d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
18115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
18252348eb8SGreg Roach     *
18352348eb8SGreg Roach     * @return void
1841677a03aSGreg Roach     */
1859b802b22SGreg Roach    public function testNewChildNamesWithNoParentsNames(): void
186c1010edaSGreg Roach    {
1871677a03aSGreg Roach        $this->assertSame(
18813abd6f3SGreg Roach            ['NAME' => '//'],
1891677a03aSGreg Roach            $this->surname_tradition->newChildNames('', '', 'U')
1901677a03aSGreg Roach        );
1911677a03aSGreg Roach    }
1921677a03aSGreg Roach
1931677a03aSGreg Roach    /**
194323788f4SGreg Roach     * Test new father names
19517d74f3aSGreg Roach     *
19615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
19715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
19852348eb8SGreg Roach     *
19952348eb8SGreg Roach     * @return void
200323788f4SGreg Roach     */
2019b802b22SGreg Roach    public function testNewFatherNames(): void
202c1010edaSGreg Roach    {
203323788f4SGreg Roach        $this->assertSame(
204c1010edaSGreg Roach            [
205c1010edaSGreg Roach                'NAME' => '/White/',
206c1010edaSGreg Roach                'SURN' => 'White',
207c1010edaSGreg Roach            ],
208323788f4SGreg Roach            $this->surname_tradition->newParentNames('John /White/', 'M')
209323788f4SGreg Roach        );
210323788f4SGreg Roach    }
211323788f4SGreg Roach
212323788f4SGreg Roach    /**
213323788f4SGreg Roach     * Test new father names
21417d74f3aSGreg Roach     *
21515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
21615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
21752348eb8SGreg Roach     *
21852348eb8SGreg Roach     * @return void
219323788f4SGreg Roach     */
2209b802b22SGreg Roach    public function testNewFatherNamesInflected(): void
221c1010edaSGreg Roach    {
222323788f4SGreg Roach        $this->assertSame(
223c1010edaSGreg Roach            [
224c1010edaSGreg Roach                'NAME' => '/Whitas/',
225c1010edaSGreg Roach                'SURN' => 'Whitas',
226c1010edaSGreg Roach            ],
227323788f4SGreg Roach            $this->surname_tradition->newParentNames('Mary /Whitaitė/', 'M')
228323788f4SGreg Roach        );
229323788f4SGreg Roach        $this->assertSame(
230c1010edaSGreg Roach            [
231c1010edaSGreg Roach                'NAME' => '/Whitis/',
232c1010edaSGreg Roach                'SURN' => 'Whitis',
233c1010edaSGreg Roach            ],
234323788f4SGreg Roach            $this->surname_tradition->newParentNames('Mary /Whitytė/', 'M')
235323788f4SGreg Roach        );
236323788f4SGreg Roach        $this->assertSame(
237c1010edaSGreg Roach            [
238c1010edaSGreg Roach                'NAME' => '/Whitius/',
239c1010edaSGreg Roach                'SURN' => 'Whitius',
240c1010edaSGreg Roach            ],
241323788f4SGreg Roach            $this->surname_tradition->newParentNames('Mary /Whitiūtė/', 'M')
242323788f4SGreg Roach        );
243323788f4SGreg Roach        $this->assertSame(
244c1010edaSGreg Roach            [
245c1010edaSGreg Roach                'NAME' => '/Whitus/',
246c1010edaSGreg Roach                'SURN' => 'Whitus',
247c1010edaSGreg Roach            ],
248323788f4SGreg Roach            $this->surname_tradition->newParentNames('Mary /Whitutė/', 'M')
249323788f4SGreg Roach        );
250323788f4SGreg Roach    }
251323788f4SGreg Roach
252323788f4SGreg Roach    /**
253323788f4SGreg Roach     * Test new mother names
25417d74f3aSGreg Roach     *
25515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
25615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
25752348eb8SGreg Roach     *
25852348eb8SGreg Roach     * @return void
259323788f4SGreg Roach     */
2609b802b22SGreg Roach    public function testNewMotherNames(): void
261c1010edaSGreg Roach    {
262323788f4SGreg Roach        $this->assertSame(
26313abd6f3SGreg Roach            ['NAME' => '//'],
264323788f4SGreg Roach            $this->surname_tradition->newParentNames('John /White/', 'F')
265323788f4SGreg Roach        );
266323788f4SGreg Roach    }
267323788f4SGreg Roach
268323788f4SGreg Roach    /**
269323788f4SGreg Roach     * Test new parent names
27017d74f3aSGreg Roach     *
27115d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
27215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
27352348eb8SGreg Roach     *
27452348eb8SGreg Roach     * @return void
275323788f4SGreg Roach     */
2769b802b22SGreg Roach    public function testNewParentNames(): void
277c1010edaSGreg Roach    {
278323788f4SGreg Roach        $this->assertSame(
27913abd6f3SGreg Roach            ['NAME' => '//'],
280323788f4SGreg Roach            $this->surname_tradition->newParentNames('John /White/', 'U')
281323788f4SGreg Roach        );
282323788f4SGreg Roach    }
283323788f4SGreg Roach
284323788f4SGreg Roach    /**
285323788f4SGreg Roach     * Test new husband names
28617d74f3aSGreg Roach     *
28715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
28815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
28952348eb8SGreg Roach     *
29052348eb8SGreg Roach     * @return void
291323788f4SGreg Roach     */
2929b802b22SGreg Roach    public function testNewHusbandNames(): void
293c1010edaSGreg Roach    {
294323788f4SGreg Roach        $this->assertSame(
29513abd6f3SGreg Roach            ['NAME' => '//'],
296323788f4SGreg Roach            $this->surname_tradition->newSpouseNames('Mary /Black/', 'M')
297323788f4SGreg Roach        );
298323788f4SGreg Roach    }
299323788f4SGreg Roach
300323788f4SGreg Roach    /**
301323788f4SGreg Roach     * Test new wife names
30217d74f3aSGreg Roach     *
30315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
30415d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
30552348eb8SGreg Roach     *
30652348eb8SGreg Roach     * @return void
307323788f4SGreg Roach     */
3089b802b22SGreg Roach    public function testNewWifeNames(): void
309c1010edaSGreg Roach    {
310323788f4SGreg Roach        $this->assertSame(
311c1010edaSGreg Roach            [
312c1010edaSGreg Roach                'NAME'   => '//',
313c1010edaSGreg Roach                '_MARNM' => '/White/',
314c1010edaSGreg Roach            ],
315323788f4SGreg Roach            $this->surname_tradition->newSpouseNames('John /White/', 'F')
316323788f4SGreg Roach        );
317323788f4SGreg Roach    }
318323788f4SGreg Roach
319323788f4SGreg Roach    /**
320323788f4SGreg Roach     * Test new spouse names
32117d74f3aSGreg Roach     *
32215d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\LithuanianSurnameTradition
32315d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\SurnameTradition\PatrilinealSurnameTradition
32452348eb8SGreg Roach     *
32552348eb8SGreg Roach     * @return void
326323788f4SGreg Roach     */
3279b802b22SGreg Roach    public function testNewSpouseNames(): void
328c1010edaSGreg Roach    {
329323788f4SGreg Roach        $this->assertSame(
33013abd6f3SGreg Roach            ['NAME' => '//'],
331323788f4SGreg Roach            $this->surname_tradition->newSpouseNames('Chris /Green/', 'U')
332323788f4SGreg Roach        );
333323788f4SGreg Roach    }
334323788f4SGreg Roach}
335