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