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