xref: /webtrees/tests/app/Census/CensusColumnConditionFrenchGarconTest.php (revision 15d603e7c7c15d20f055d3d9c38d6b133453c5be)
100225b98SGreg Roach<?php
200225b98SGreg Roach
300225b98SGreg Roach/**
400225b98SGreg Roach * webtrees: online genealogy
5825270d6SGreg Roach * Copyright (C) 2017 webtrees development team
600225b98SGreg Roach * This program is free software: you can redistribute it and/or modify
700225b98SGreg Roach * it under the terms of the GNU General Public License as published by
800225b98SGreg Roach * the Free Software Foundation, either version 3 of the License, or
900225b98SGreg Roach * (at your option) any later version.
1000225b98SGreg Roach * This program is distributed in the hope that it will be useful,
1100225b98SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
1200225b98SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1300225b98SGreg Roach * GNU General Public License for more details.
1400225b98SGreg Roach * You should have received a copy of the GNU General Public License
1500225b98SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>.
1600225b98SGreg Roach */
1700225b98SGreg Roachnamespace Fisharebest\Webtrees\Census;
1800225b98SGreg Roach
1900225b98SGreg Roachuse Fisharebest\Webtrees\Date;
2000225b98SGreg Roachuse Mockery;
2100225b98SGreg Roach
2200225b98SGreg Roach/**
2300225b98SGreg Roach * Test harness for the class CensusColumnConditionFrenchGarcon
2400225b98SGreg Roach */
2500225b98SGreg Roachclass CensusColumnConditionFrenchGarconTest extends \PHPUnit_Framework_TestCase {
2600225b98SGreg Roach	/**
2700225b98SGreg Roach	 * Delete mock objects
2800225b98SGreg Roach	 */
2900225b98SGreg Roach	public function tearDown() {
3000225b98SGreg Roach		Mockery::close();
3100225b98SGreg Roach	}
3200225b98SGreg Roach
3300225b98SGreg Roach	/**
34*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
35*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
3600225b98SGreg Roach	 */
3700225b98SGreg Roach	public function testNoSpouseFamiliesMale() {
3800225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
3900225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
4013abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([]);
4100225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
4200225b98SGreg Roach
4300225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
4400225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
4500225b98SGreg Roach
4600225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
4700225b98SGreg Roach
48d8e2dd8bSGreg Roach		$this->assertSame('1', $column->generate($individual));
4900225b98SGreg Roach	}
5000225b98SGreg Roach
5100225b98SGreg Roach	/**
52*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
53*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
5400225b98SGreg Roach	 */
5500225b98SGreg Roach	public function testNoSpouseFamiliesFemale() {
5600225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
5700225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
5813abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([]);
5900225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
6000225b98SGreg Roach
6100225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
6200225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
6300225b98SGreg Roach
6400225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
6500225b98SGreg Roach
6600225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
6700225b98SGreg Roach	}
6800225b98SGreg Roach
6900225b98SGreg Roach	/**
70*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
71*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
7200225b98SGreg Roach	 */
73e76c0cf0SGreg Roach	public function testNoFamilyFactsMale() {
74e76c0cf0SGreg Roach		$spouse = Mockery::mock('Fisharebest\Webtrees\Individual');
75e76c0cf0SGreg Roach		$spouse->shouldReceive('getDeathDate')->andReturn(new Date('1850'));
76e76c0cf0SGreg Roach
7700225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
7800225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
7913abd6f3SGreg Roach		$family->shouldReceive('getFacts')->andReturn([]);
80e76c0cf0SGreg Roach		$family->shouldReceive('getSpouse')->andReturn($spouse);
8100225b98SGreg Roach
8200225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
8300225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
8413abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
8500225b98SGreg Roach
8600225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
8700225b98SGreg Roach
8800225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
8900225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
9000225b98SGreg Roach
9100225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
9200225b98SGreg Roach	}
9300225b98SGreg Roach
9400225b98SGreg Roach	/**
95*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
96*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
9700225b98SGreg Roach	 */
98e76c0cf0SGreg Roach	public function testNoFamilyFactsFemale() {
99e76c0cf0SGreg Roach		$spouse = Mockery::mock('Fisharebest\Webtrees\Individual');
100e76c0cf0SGreg Roach		$spouse->shouldReceive('getDeathDate')->andReturn(new Date('1850'));
101e76c0cf0SGreg Roach
10200225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
10300225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
10413abd6f3SGreg Roach		$family->shouldReceive('getFacts')->andReturn([]);
105e76c0cf0SGreg Roach		$family->shouldReceive('getSpouse')->andReturn($spouse);
106e76c0cf0SGreg Roach
107e76c0cf0SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
108e76c0cf0SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
10913abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
110e76c0cf0SGreg Roach
111e76c0cf0SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
112e76c0cf0SGreg Roach
113e76c0cf0SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
114e76c0cf0SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
115e76c0cf0SGreg Roach
116e76c0cf0SGreg Roach		$this->assertSame('', $column->generate($individual));
117e76c0cf0SGreg Roach	}
118e76c0cf0SGreg Roach
119e76c0cf0SGreg Roach	/**
120*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
121*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
122e76c0cf0SGreg Roach	 */
123e76c0cf0SGreg Roach	public function testSpouseDeadMale() {
124e76c0cf0SGreg Roach		$spouse = Mockery::mock('Fisharebest\Webtrees\Individual');
125e76c0cf0SGreg Roach		$spouse->shouldReceive('getDeathDate')->andReturn(new Date('1820'));
126e76c0cf0SGreg Roach
127e76c0cf0SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
128e76c0cf0SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
12913abd6f3SGreg Roach		$family->shouldReceive('getFacts')->andReturn([]);
130e76c0cf0SGreg Roach		$family->shouldReceive('getSpouse')->andReturn($spouse);
131e76c0cf0SGreg Roach
132e76c0cf0SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
133e76c0cf0SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
13413abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
135e76c0cf0SGreg Roach
136e76c0cf0SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
137e76c0cf0SGreg Roach
138e76c0cf0SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
139e76c0cf0SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
140e76c0cf0SGreg Roach
141e76c0cf0SGreg Roach		$this->assertSame('', $column->generate($individual));
142e76c0cf0SGreg Roach	}
143e76c0cf0SGreg Roach
144e76c0cf0SGreg Roach	/**
145*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
146*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
147e76c0cf0SGreg Roach	 */
148e76c0cf0SGreg Roach	public function testSpouseDeadFemale() {
149e76c0cf0SGreg Roach		$spouse = Mockery::mock('Fisharebest\Webtrees\Individual');
150e76c0cf0SGreg Roach		$spouse->shouldReceive('getDeathDate')->andReturn(new Date('1820'));
151e76c0cf0SGreg Roach
152e76c0cf0SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
153e76c0cf0SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
15413abd6f3SGreg Roach		$family->shouldReceive('getFacts')->andReturn([]);
155e76c0cf0SGreg Roach		$family->shouldReceive('getSpouse')->andReturn($spouse);
15600225b98SGreg Roach
15700225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
15800225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
15913abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
16000225b98SGreg Roach
16100225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
16200225b98SGreg Roach
16300225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
16400225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
16500225b98SGreg Roach
16600225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
16700225b98SGreg Roach	}
16800225b98SGreg Roach
16900225b98SGreg Roach	/**
170*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
171*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
17200225b98SGreg Roach	 */
17300225b98SGreg Roach	public function testNoFamilyUnmarriedMale() {
17400225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
17500225b98SGreg Roach
17600225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
17700225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
17813abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([$fact]);
17900225b98SGreg Roach
18000225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
18100225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
18213abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
18300225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
18400225b98SGreg Roach
18500225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
18600225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
18700225b98SGreg Roach
18800225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
18900225b98SGreg Roach
190d8e2dd8bSGreg Roach		$this->assertSame('1', $column->generate($individual));
19100225b98SGreg Roach	}
19200225b98SGreg Roach
19300225b98SGreg Roach	/**
194*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
195*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
19600225b98SGreg Roach	 */
19700225b98SGreg Roach	public function testNoFamilyUnmarriedFemale() {
19800225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
19900225b98SGreg Roach
20000225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
20100225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
20213abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([$fact]);
20300225b98SGreg Roach
20400225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
20500225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
20613abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
20700225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
20800225b98SGreg Roach
20900225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
21000225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
21100225b98SGreg Roach
21200225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
21300225b98SGreg Roach
21400225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
21500225b98SGreg Roach	}
21600225b98SGreg Roach
21700225b98SGreg Roach	/**
218*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
219*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
22000225b98SGreg Roach	 */
22100225b98SGreg Roach	public function testChildMale() {
22200225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
22300225b98SGreg Roach
22400225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
22500225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
22613abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([$fact]);
22700225b98SGreg Roach
22800225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
22900225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
23013abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
23100225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820'));
23200225b98SGreg Roach
23300225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
23400225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
23500225b98SGreg Roach
23600225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
23700225b98SGreg Roach
238d8e2dd8bSGreg Roach		$this->assertSame('1', $column->generate($individual));
23900225b98SGreg Roach	}
24000225b98SGreg Roach
24100225b98SGreg Roach	/**
242*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
243*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
24400225b98SGreg Roach	 */
24500225b98SGreg Roach	public function testChildFemale() {
24600225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
24700225b98SGreg Roach
24800225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
24900225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
25013abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([$fact]);
25100225b98SGreg Roach
25200225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
25300225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
25413abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
25500225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820'));
25600225b98SGreg Roach
25700225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
25800225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
25900225b98SGreg Roach
26000225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
26100225b98SGreg Roach
26200225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
26300225b98SGreg Roach	}
26400225b98SGreg Roach
26500225b98SGreg Roach	/**
266*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
267*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
26800225b98SGreg Roach	 */
26900225b98SGreg Roach	public function testDivorcedMale() {
27000225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
27100225b98SGreg Roach
27200225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
27300225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
27413abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([]);
27513abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('DIV')->andReturn([$fact]);
27600225b98SGreg Roach
27700225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
27800225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
27913abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
28000225b98SGreg Roach
28100225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
28200225b98SGreg Roach
28300225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
28400225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
28500225b98SGreg Roach
28600225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
28700225b98SGreg Roach	}
28800225b98SGreg Roach
28900225b98SGreg Roach	/**
290*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\CensusColumnConditionFrenchGarcon
291*15d603e7SGreg Roach	 * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
29200225b98SGreg Roach	 */
29300225b98SGreg Roach	public function testDivorcedFemale() {
29400225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
29500225b98SGreg Roach
29600225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
29700225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
29813abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn([]);
29913abd6f3SGreg Roach		$family->shouldReceive('getFacts')->with('DIV')->andReturn([$fact]);
30000225b98SGreg Roach
30100225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
30200225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
30313abd6f3SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn([$family]);
30400225b98SGreg Roach
30500225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
30600225b98SGreg Roach
30700225b98SGreg Roach		$column = new CensusColumnConditionFrenchGarcon($census, '', '');
30800225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
30900225b98SGreg Roach
31000225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
31100225b98SGreg Roach	}
31200225b98SGreg Roach}
313