xref: /webtrees/tests/app/SurnameTradition/DefaultSurnameTraditionTest.php (revision 67994fb087e1b24564a780e4ae8aeff801733e35)
1<?php
2/**
3 * webtrees: online genealogy
4 * Copyright (C) 2018 webtrees development team
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16declare(strict_types=1);
17
18namespace Fisharebest\Webtrees\SurnameTradition;
19
20use Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition;
21use Fisharebest\Webtrees\SurnameTradition\SurnameTraditionInterface;
22
23/**
24 * Test harness for the class DefaultSurnameTradition
25 */
26class DefaultSurnameTraditionTest extends \Fisharebest\Webtrees\TestCase
27{
28    /** @var SurnameTraditionInterface */
29    private $surname_tradition;
30
31    /**
32     * Prepare the environment for these tests
33     *
34     * @return void
35     */
36    public function setUp()
37    {
38        $this->surname_tradition = new DefaultSurnameTradition;
39    }
40
41    /**
42     * Test whether married surnames are used
43     *
44     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
45     *
46     * @return void
47     */
48    public function testMarriedSurnames()
49    {
50        $this->assertSame(false, $this->surname_tradition->hasMarriedNames());
51    }
52
53    /**
54     * Test whether surnames are used
55     *
56     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
57     *
58     * @return void
59     */
60    public function testSurnames()
61    {
62        $this->assertSame(true, $this->surname_tradition->hasSurnames());
63    }
64
65    /**
66     * Test new son names
67     *
68     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
69     *
70     * @return void
71     */
72    public function testNewSonNames()
73    {
74        $this->assertSame(
75            ['NAME' => '//'],
76            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'M')
77        );
78    }
79
80    /**
81     * Test new daughter names
82     *
83     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
84     *
85     * @return void
86     */
87    public function testNewDaughterNames()
88    {
89        $this->assertSame(
90            ['NAME' => '//'],
91            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'F')
92        );
93    }
94
95    /**
96     * Test new child names
97     *
98     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
99     *
100     * @return void
101     */
102    public function testNewChildNames()
103    {
104        $this->assertSame(
105            ['NAME' => '//'],
106            $this->surname_tradition->newChildNames('John /White/', 'Mary /Black/', 'U')
107        );
108    }
109
110    /**
111     * Test new father names
112     *
113     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
114     *
115     * @return void
116     */
117    public function testNewFatherNames()
118    {
119        $this->assertSame(
120            ['NAME' => '//'],
121            $this->surname_tradition->newParentNames('John /White/', 'M')
122        );
123    }
124
125    /**
126     * Test new mother names
127     *
128     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
129     *
130     * @return void
131     */
132    public function testNewMotherNames()
133    {
134        $this->assertSame(
135            ['NAME' => '//'],
136            $this->surname_tradition->newParentNames('John /White/', 'F')
137        );
138    }
139
140    /**
141     * Test new parent names
142     *
143     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
144     *
145     * @return void
146     */
147    public function testNewParentNames()
148    {
149        $this->assertSame(
150            ['NAME' => '//'],
151            $this->surname_tradition->newParentNames('John /White/', 'U')
152        );
153    }
154
155    /**
156     * Test new husband names
157     *
158     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
159     *
160     * @return void
161     */
162    public function testNewHusbandNames()
163    {
164        $this->assertSame(
165            ['NAME' => '//'],
166            $this->surname_tradition->newSpouseNames('Mary /Black/', 'M')
167        );
168    }
169
170    /**
171     * Test new wife names
172     *
173     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
174     *
175     * @return void
176     */
177    public function testNewWifeNames()
178    {
179        $this->assertSame(
180            ['NAME' => '//'],
181            $this->surname_tradition->newSpouseNames('John /White/', 'F')
182        );
183    }
184
185    /**
186     * Test new spouse names
187     *
188     * @covers \Fisharebest\Webtrees\SurnameTradition\DefaultSurnameTradition
189     *
190     * @return void
191     */
192    public function testNewSpouseNames()
193    {
194        $this->assertSame(
195            ['NAME' => '//'],
196            $this->surname_tradition->newSpouseNames('Chris /Green/', 'U')
197        );
198    }
199}
200