xref: /webtrees/tests/app/Census/CensusColumnConditionFrenchVeufTest.php (revision 00225b9840cb4ba8a23967e3fb8fab881d3d63d5)
1*00225b98SGreg Roach<?php
2*00225b98SGreg Roach
3*00225b98SGreg Roach/**
4*00225b98SGreg Roach * webtrees: online genealogy
5*00225b98SGreg Roach * Copyright (C) 2016 webtrees development team
6*00225b98SGreg Roach * This program is free software: you can redistribute it and/or modify
7*00225b98SGreg Roach * it under the terms of the GNU General Public License as published by
8*00225b98SGreg Roach * the Free Software Foundation, either version 3 of the License, or
9*00225b98SGreg Roach * (at your option) any later version.
10*00225b98SGreg Roach * This program is distributed in the hope that it will be useful,
11*00225b98SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
12*00225b98SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13*00225b98SGreg Roach * GNU General Public License for more details.
14*00225b98SGreg Roach * You should have received a copy of the GNU General Public License
15*00225b98SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>.
16*00225b98SGreg Roach */
17*00225b98SGreg Roachnamespace Fisharebest\Webtrees\Census;
18*00225b98SGreg Roach
19*00225b98SGreg Roachuse Fisharebest\Webtrees\Date;
20*00225b98SGreg Roachuse Fisharebest\Webtrees\Fact;
21*00225b98SGreg Roachuse Fisharebest\Webtrees\Family;
22*00225b98SGreg Roachuse Fisharebest\Webtrees\Individual;
23*00225b98SGreg Roachuse Mockery;
24*00225b98SGreg Roach
25*00225b98SGreg Roach/**
26*00225b98SGreg Roach * Test harness for the class CensusColumnConditionFrenchVeuf
27*00225b98SGreg Roach */
28*00225b98SGreg Roachclass CensusColumnConditionFrenchVeufTest extends \PHPUnit_Framework_TestCase {
29*00225b98SGreg Roach	/**
30*00225b98SGreg Roach	 * Delete mock objects
31*00225b98SGreg Roach	 */
32*00225b98SGreg Roach	public function tearDown() {
33*00225b98SGreg Roach		Mockery::close();
34*00225b98SGreg Roach	}
35*00225b98SGreg Roach
36*00225b98SGreg Roach	/**
37*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
38*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
39*00225b98SGreg Roach	 */
40*00225b98SGreg Roach	public function testNoSpouseFamiliesMale() {
41*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
42*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
43*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array());
44*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
45*00225b98SGreg Roach
46*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
47*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
48*00225b98SGreg Roach
49*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
50*00225b98SGreg Roach
51*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
52*00225b98SGreg Roach	}
53*00225b98SGreg Roach
54*00225b98SGreg Roach	/**
55*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
56*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
57*00225b98SGreg Roach	 */
58*00225b98SGreg Roach	public function testNoSpouseFamiliesFemale() {
59*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
60*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
61*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array());
62*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
63*00225b98SGreg Roach
64*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
65*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
66*00225b98SGreg Roach
67*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
68*00225b98SGreg Roach
69*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
70*00225b98SGreg Roach	}
71*00225b98SGreg Roach
72*00225b98SGreg Roach	/**
73*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
74*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
75*00225b98SGreg Roach	 */
76*00225b98SGreg Roach	public function testNoFamilyNoFactsMale() {
77*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
78*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
79*00225b98SGreg Roach		$family->shouldReceive('getFacts')->andReturn(array());
80*00225b98SGreg Roach
81*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
82*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
83*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
84*00225b98SGreg Roach
85*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
86*00225b98SGreg Roach
87*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
88*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
89*00225b98SGreg Roach
90*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
91*00225b98SGreg Roach	}
92*00225b98SGreg Roach
93*00225b98SGreg Roach	/**
94*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
95*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
96*00225b98SGreg Roach	 */
97*00225b98SGreg Roach	public function testNoFamilyNoFactsFemale() {
98*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
99*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
100*00225b98SGreg Roach		$family->shouldReceive('getFacts')->andReturn(array());
101*00225b98SGreg Roach
102*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
103*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
104*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
105*00225b98SGreg Roach
106*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
107*00225b98SGreg Roach
108*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
109*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
110*00225b98SGreg Roach
111*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
112*00225b98SGreg Roach	}
113*00225b98SGreg Roach
114*00225b98SGreg Roach	/**
115*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
116*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
117*00225b98SGreg Roach	 */
118*00225b98SGreg Roach	public function testNoFamilyUnmarriedMale() {
119*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
120*00225b98SGreg Roach
121*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
122*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
123*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact));
124*00225b98SGreg Roach
125*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
126*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
127*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
128*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
129*00225b98SGreg Roach
130*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
131*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
132*00225b98SGreg Roach
133*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
134*00225b98SGreg Roach
135*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
136*00225b98SGreg Roach	}
137*00225b98SGreg Roach
138*00225b98SGreg Roach	/**
139*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
140*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
141*00225b98SGreg Roach	 */
142*00225b98SGreg Roach	public function testNoFamilyUnmarriedFemale() {
143*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
144*00225b98SGreg Roach
145*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
146*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
147*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact));
148*00225b98SGreg Roach
149*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
150*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
151*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
152*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800'));
153*00225b98SGreg Roach
154*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
155*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
156*00225b98SGreg Roach
157*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
158*00225b98SGreg Roach
159*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
160*00225b98SGreg Roach	}
161*00225b98SGreg Roach
162*00225b98SGreg Roach	/**
163*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
164*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
165*00225b98SGreg Roach	 */
166*00225b98SGreg Roach	public function testChildMale() {
167*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
168*00225b98SGreg Roach
169*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
170*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
171*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact));
172*00225b98SGreg Roach
173*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
174*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
175*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
176*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820'));
177*00225b98SGreg Roach
178*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
179*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
180*00225b98SGreg Roach
181*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
182*00225b98SGreg Roach
183*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
184*00225b98SGreg Roach	}
185*00225b98SGreg Roach
186*00225b98SGreg Roach	/**
187*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
188*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
189*00225b98SGreg Roach	 */
190*00225b98SGreg Roach	public function testChildFemale() {
191*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
192*00225b98SGreg Roach
193*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
194*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
195*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact));
196*00225b98SGreg Roach
197*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
198*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
199*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
200*00225b98SGreg Roach		$individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820'));
201*00225b98SGreg Roach
202*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
203*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
204*00225b98SGreg Roach
205*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
206*00225b98SGreg Roach
207*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
208*00225b98SGreg Roach	}
209*00225b98SGreg Roach
210*00225b98SGreg Roach	/**
211*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
212*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
213*00225b98SGreg Roach	 */
214*00225b98SGreg Roach	public function testDivorcedMale() {
215*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
216*00225b98SGreg Roach
217*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
218*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
219*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array());
220*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('DIV')->andReturn(array($fact));
221*00225b98SGreg Roach
222*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
223*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('M');
224*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
225*00225b98SGreg Roach
226*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
227*00225b98SGreg Roach
228*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
229*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
230*00225b98SGreg Roach
231*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
232*00225b98SGreg Roach	}
233*00225b98SGreg Roach
234*00225b98SGreg Roach	/**
235*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\CensusColumnConditionFrenchVeuf
236*00225b98SGreg Roach	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition
237*00225b98SGreg Roach	 */
238*00225b98SGreg Roach	public function testDivorcedFemale() {
239*00225b98SGreg Roach		$fact = Mockery::mock('Fisharebest\Webtrees\Fact');
240*00225b98SGreg Roach
241*00225b98SGreg Roach		$family = Mockery::mock('Fisharebest\Webtrees\Family');
242*00225b98SGreg Roach		$family->shouldReceive('getMarriageDate')->andReturn(new Date(''));
243*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('_NMR')->andReturn(array());
244*00225b98SGreg Roach		$family->shouldReceive('getFacts')->with('DIV')->andReturn(array($fact));
245*00225b98SGreg Roach
246*00225b98SGreg Roach		$individual = Mockery::mock('Fisharebest\Webtrees\Individual');
247*00225b98SGreg Roach		$individual->shouldReceive('getSex')->andReturn('F');
248*00225b98SGreg Roach		$individual->shouldReceive('getSpouseFamilies')->andReturn(array($family));
249*00225b98SGreg Roach
250*00225b98SGreg Roach		$census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
251*00225b98SGreg Roach
252*00225b98SGreg Roach		$column = new CensusColumnConditionFrenchVeuf($census, '', '');
253*00225b98SGreg Roach		$census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
254*00225b98SGreg Roach
255*00225b98SGreg Roach		$this->assertSame('', $column->generate($individual));
256*00225b98SGreg Roach	}
257*00225b98SGreg Roach}
258