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