xref: /webtrees/tests/app/Census/CensusColumnBornForeignPartsTest.php (revision 16d0b7f74e80c16cb445079b0322702930031dc7)
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 */
17namespace Fisharebest\Webtrees\Census;
18
19use Mockery;
20
21/**
22 * Test harness for the class CensusColumnBornForeignParts
23 */
24class CensusColumnBornForeignPartsTest extends \PHPUnit_Framework_TestCase {
25	/**
26	 * Delete mock objects
27	 */
28	public function tearDown() {
29		Mockery::close();
30	}
31
32	/**
33	 * Get place mock.
34	 *
35	 * @param string $place Gedcom Place
36	 *
37	 * @return \Fisharebest\Webtrees\Place
38	 */
39	private function getPlaceMock($place)
40	{
41		$placeParts = explode(', ', $place);
42
43		$placeMock = Mockery::mock('\Fisharebest\Webtrees\Place');
44		$placeMock->shouldReceive('getGedcomName')->andReturn($place);
45		$placeMock->shouldReceive('lastPart')->andReturn(end($placeParts));
46
47		return $placeMock;
48	}
49
50	/**
51	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
52	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
53	 */
54	public function testBornEnglandCensusEngland() {
55		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
56		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('London, England'));
57
58		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
59		$census->shouldReceive('censusPlace')->andReturn('England');
60
61		$column = new CensusColumnBornForeignParts($census, '', '');
62
63		$this->assertSame('', $column->generate($individual));
64	}
65
66	/**
67	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
68	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
69	 */
70	public function testBornWalesCensusEngland() {
71		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
72		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Cardiff, Wales'));
73
74		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
75		$census->shouldReceive('censusPlace')->andReturn('England');
76
77		$column = new CensusColumnBornForeignParts($census, '', '');
78
79		$this->assertSame('', $column->generate($individual));
80	}
81
82	/**
83	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
84	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
85	 */
86	public function testBornScotlandCensusEngland() {
87		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
88		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Edinburgh, Scotland'));
89
90		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
91		$census->shouldReceive('censusPlace')->andReturn('England');
92
93		$column = new CensusColumnBornForeignParts($census, '', '');
94
95		$this->assertSame('S', $column->generate($individual));
96	}
97
98	/**
99	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
100	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
101	 */
102	public function testBornIrelandCensusEngland() {
103		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
104		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Dublin, Ireland'));
105
106		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
107		$census->shouldReceive('censusPlace')->andReturn('England');
108
109		$column = new CensusColumnBornForeignParts($census, '', '');
110
111		$this->assertSame('I', $column->generate($individual));
112	}
113
114	/**
115	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
116	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
117	 */
118	public function testBornForeignCensusEngland() {
119		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
120		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Elbonia'));
121
122		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
123		$census->shouldReceive('censusPlace')->andReturn('England');
124
125		$column = new CensusColumnBornForeignParts($census, '', '');
126
127		$this->assertSame('F', $column->generate($individual));
128	}
129
130	/**
131	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
132	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
133	 */
134	public function testBornEnglandCensusIreland() {
135		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
136		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('London, England'));
137
138		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
139		$census->shouldReceive('censusPlace')->andReturn('Ireland');
140
141		$column = new CensusColumnBornForeignParts($census, '', '');
142
143		$this->assertSame('E', $column->generate($individual));
144	}
145
146	/**
147	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
148	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
149	 */
150	public function testBornWalesCensusIreland() {
151		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
152		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Cardiff, Wales'));
153
154		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
155		$census->shouldReceive('censusPlace')->andReturn('Ireland');
156
157		$column = new CensusColumnBornForeignParts($census, '', '');
158
159		$this->assertSame('E', $column->generate($individual));
160	}
161
162	/**
163	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
164	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
165	 */
166	public function testBornScotlandCensusIreland() {
167		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
168		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Edinburgh, Scotland'));
169
170		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
171		$census->shouldReceive('censusPlace')->andReturn('Ireland');
172
173		$column = new CensusColumnBornForeignParts($census, '', '');
174
175		$this->assertSame('S', $column->generate($individual));
176	}
177
178	/**
179	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
180	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
181	 */
182	public function testBornIrelandCensusIreland() {
183		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
184		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Dublin, Ireland'));
185
186		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
187		$census->shouldReceive('censusPlace')->andReturn('Ireland');
188
189		$column = new CensusColumnBornForeignParts($census, '', '');
190
191		$this->assertSame('', $column->generate($individual));
192	}
193
194	/**
195	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
196	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
197	 */
198	public function testBornForeignCensusIreland() {
199		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
200		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Elbonia'));
201
202		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
203		$census->shouldReceive('censusPlace')->andReturn('Ireland');
204
205		$column = new CensusColumnBornForeignParts($census, '', '');
206
207		$this->assertSame('F', $column->generate($individual));
208	}
209
210	/**
211	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
212	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
213	 */
214	public function testBornEnglandCensusScotland() {
215		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
216		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('London, England'));
217
218		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
219		$census->shouldReceive('censusPlace')->andReturn('Scotland');
220
221		$column = new CensusColumnBornForeignParts($census, '', '');
222
223		$this->assertSame('E', $column->generate($individual));
224	}
225
226	/**
227	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
228	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
229	 */
230	public function testBornWalesCensusScotland() {
231		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
232		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Cardiff, Wales'));
233
234		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
235		$census->shouldReceive('censusPlace')->andReturn('Scotland');
236
237		$column = new CensusColumnBornForeignParts($census, '', '');
238
239		$this->assertSame('E', $column->generate($individual));
240	}
241
242	/**
243	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
244	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
245	 */
246	public function testBornScotlandCensusScotland() {
247		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
248		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Edinburgh, Scotland'));
249
250		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
251		$census->shouldReceive('censusPlace')->andReturn('Scotland');
252
253		$column = new CensusColumnBornForeignParts($census, '', '');
254
255		$this->assertSame('', $column->generate($individual));
256	}
257
258	/**
259	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
260	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
261	 */
262	public function testBornIrelandCensusScotland() {
263		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
264		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Dublin, Ireland'));
265
266		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
267		$census->shouldReceive('censusPlace')->andReturn('Scotland');
268
269		$column = new CensusColumnBornForeignParts($census, '', '');
270
271		$this->assertSame('I', $column->generate($individual));
272	}
273
274	/**
275	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
276	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
277	 */
278	public function testBornForeignCensusScotland() {
279		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
280		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Elbonia'));
281
282		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
283		$census->shouldReceive('censusPlace')->andReturn('Scotland');
284
285		$column = new CensusColumnBornForeignParts($census, '', '');
286
287		$this->assertSame('F', $column->generate($individual));
288	}
289
290	/**
291	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
292	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
293	 */
294	public function testBornEnglandCensusWales() {
295		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
296		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('London, England'));
297
298		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
299		$census->shouldReceive('censusPlace')->andReturn('Wales');
300
301		$column = new CensusColumnBornForeignParts($census, '', '');
302
303		$this->assertSame('', $column->generate($individual));
304	}
305
306	/**
307	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
308	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
309	 */
310	public function testBornWalesCensusWales() {
311		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
312		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Cardiff, Wales'));
313
314		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
315		$census->shouldReceive('censusPlace')->andReturn('Wales');
316
317		$column = new CensusColumnBornForeignParts($census, '', '');
318
319		$this->assertSame('', $column->generate($individual));
320	}
321
322	/**
323	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
324	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
325	 */
326	public function testBornScotlandCensusWales() {
327		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
328		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Edinburgh, Scotland'));
329
330		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
331		$census->shouldReceive('censusPlace')->andReturn('Wales');
332
333		$column = new CensusColumnBornForeignParts($census, '', '');
334
335		$this->assertSame('S', $column->generate($individual));
336	}
337
338	/**
339	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
340	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
341	 */
342	public function testBornIrelandCensusWales() {
343		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
344		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Dublin, Ireland'));
345
346		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
347		$census->shouldReceive('censusPlace')->andReturn('Wales');
348
349		$column = new CensusColumnBornForeignParts($census, '', '');
350
351		$this->assertSame('I', $column->generate($individual));
352	}
353
354	/**
355	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
356	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
357	 */
358	public function testBornForeignCensusWales() {
359		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
360		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock('Elbonia'));
361
362		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
363		$census->shouldReceive('censusPlace')->andReturn('Wales');
364
365		$column = new CensusColumnBornForeignParts($census, '', '');
366
367		$this->assertSame('F', $column->generate($individual));
368	}
369
370	/**
371	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
372	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
373	 */
374	public function testBornNowhereCensusEngland() {
375		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
376		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock(''));
377
378		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
379		$census->shouldReceive('censusPlace')->andReturn('England');
380
381		$column = new CensusColumnBornForeignParts($census, '', '');
382
383		$this->assertSame('', $column->generate($individual));
384	}
385
386	/**
387	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
388	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
389	 */
390	public function testBornNowhereCensusWales() {
391		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
392		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock(''));
393
394		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
395		$census->shouldReceive('censusPlace')->andReturn('Wales');
396
397		$column = new CensusColumnBornForeignParts($census, '', '');
398
399		$this->assertSame('', $column->generate($individual));
400	}
401
402	/**
403	 * @covers \Fisharebest\Webtrees\Census\CensusColumnBornForeignParts
404	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
405	 */
406	public function testBornNowhereCensusScotland() {
407		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
408		$individual->shouldReceive('getBirthPlace')->andReturn($this->getPlaceMock(''));
409
410		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
411		$census->shouldReceive('censusPlace')->andReturn('Scotland');
412
413		$column = new CensusColumnBornForeignParts($census, '', '');
414
415		$this->assertSame('', $column->generate($individual));
416	}
417}
418