1101af0b4SGreg Roach<?php 2101af0b4SGreg Roach 3101af0b4SGreg Roach/** 4101af0b4SGreg Roach * webtrees: online genealogy 5369c0ce6SGreg Roach * Copyright (C) 2016 webtrees development team 6101af0b4SGreg Roach * This program is free software: you can redistribute it and/or modify 7101af0b4SGreg Roach * it under the terms of the GNU General Public License as published by 8101af0b4SGreg Roach * the Free Software Foundation, either version 3 of the License, or 9101af0b4SGreg Roach * (at your option) any later version. 10101af0b4SGreg Roach * This program is distributed in the hope that it will be useful, 11101af0b4SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 12101af0b4SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13101af0b4SGreg Roach * GNU General Public License for more details. 14101af0b4SGreg Roach * You should have received a copy of the GNU General Public License 15101af0b4SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>. 16101af0b4SGreg Roach */ 17101af0b4SGreg Roachnamespace Fisharebest\Webtrees\Census; 18101af0b4SGreg Roach 19101af0b4SGreg Roachuse Fisharebest\Webtrees\Date; 2073d4df56SGreg Roachuse Fisharebest\Webtrees\Fact; 2173d4df56SGreg Roachuse Fisharebest\Webtrees\Family; 22101af0b4SGreg Roachuse Fisharebest\Webtrees\Individual; 23101af0b4SGreg Roachuse Mockery; 24101af0b4SGreg Roach 25101af0b4SGreg Roach/** 2673d4df56SGreg Roach * Test harness for the class CensusColumnConditionDanish 27101af0b4SGreg Roach */ 28101af0b4SGreg Roachclass CensusColumnConditionDanishTest extends \PHPUnit_Framework_TestCase { 29101af0b4SGreg Roach /** 30101af0b4SGreg Roach * Delete mock objects 31101af0b4SGreg Roach */ 32101af0b4SGreg Roach public function tearDown() { 33101af0b4SGreg Roach Mockery::close(); 34101af0b4SGreg Roach } 35101af0b4SGreg Roach 36101af0b4SGreg Roach /** 3773d4df56SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 3800225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 39101af0b4SGreg Roach */ 4000225b98SGreg Roach public function testNoSpouseFamiliesMale() { 41c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 4200225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 43e2052359SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array()); 4400225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800')); 45101af0b4SGreg Roach 46c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 4700225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 48101af0b4SGreg Roach 4973d4df56SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 50101af0b4SGreg Roach 5173d4df56SGreg Roach $this->assertSame('Ugift', $column->generate($individual)); 5273d4df56SGreg Roach } 5373d4df56SGreg Roach 5473d4df56SGreg Roach /** 5573d4df56SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 5600225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 5773d4df56SGreg Roach */ 5800225b98SGreg Roach public function testNoSpouseFamiliesFemale() { 5900225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 6000225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 6100225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array()); 6200225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800')); 6300225b98SGreg Roach 6400225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 6500225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 6600225b98SGreg Roach 6700225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 6800225b98SGreg Roach 6900225b98SGreg Roach $this->assertSame('Ugift', $column->generate($individual)); 7000225b98SGreg Roach } 7100225b98SGreg Roach 7200225b98SGreg Roach /** 7300225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 7400225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 7500225b98SGreg Roach */ 76*e76c0cf0SGreg Roach public function testNoFamilyFactsMale() { 77*e76c0cf0SGreg Roach $spouse = Mockery::mock('Fisharebest\Webtrees\Individual'); 78*e76c0cf0SGreg Roach $spouse->shouldReceive('getDeathDate')->andReturn(new Date('1850')); 79*e76c0cf0SGreg Roach 80c314ecc9SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 8173d4df56SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 82e2052359SGreg Roach $family->shouldReceive('getFacts')->andReturn(array()); 83*e76c0cf0SGreg Roach $family->shouldReceive('getSpouse')->andReturn($spouse); 8473d4df56SGreg Roach 85c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 8600225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 87e2052359SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 8873d4df56SGreg Roach 89c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 9073d4df56SGreg Roach 9173d4df56SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 9273d4df56SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 9373d4df56SGreg Roach 9473d4df56SGreg Roach $this->assertSame('Gift', $column->generate($individual)); 9573d4df56SGreg Roach } 9673d4df56SGreg Roach 9773d4df56SGreg Roach /** 9873d4df56SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 9900225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 10073d4df56SGreg Roach */ 101*e76c0cf0SGreg Roach public function testNoFamilyFactsFemale() { 102*e76c0cf0SGreg Roach $spouse = Mockery::mock('Fisharebest\Webtrees\Individual'); 103*e76c0cf0SGreg Roach $spouse->shouldReceive('getDeathDate')->andReturn(new Date('1850')); 104*e76c0cf0SGreg Roach 105c314ecc9SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 10673d4df56SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 10700225b98SGreg Roach $family->shouldReceive('getFacts')->andReturn(array()); 108*e76c0cf0SGreg Roach $family->shouldReceive('getSpouse')->andReturn($spouse); 109*e76c0cf0SGreg Roach 110*e76c0cf0SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 111*e76c0cf0SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 112*e76c0cf0SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 113*e76c0cf0SGreg Roach 114*e76c0cf0SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 115*e76c0cf0SGreg Roach 116*e76c0cf0SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 117*e76c0cf0SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 118*e76c0cf0SGreg Roach 119*e76c0cf0SGreg Roach $this->assertSame('Gift', $column->generate($individual)); 120*e76c0cf0SGreg Roach } 121*e76c0cf0SGreg Roach 122*e76c0cf0SGreg Roach /** 123*e76c0cf0SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 124*e76c0cf0SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 125*e76c0cf0SGreg Roach */ 126*e76c0cf0SGreg Roach public function testSpouseDeadMale() { 127*e76c0cf0SGreg Roach $spouse = Mockery::mock('Fisharebest\Webtrees\Individual'); 128*e76c0cf0SGreg Roach $spouse->shouldReceive('getDeathDate')->andReturn(new Date('1820')); 129*e76c0cf0SGreg Roach 130*e76c0cf0SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 131*e76c0cf0SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 132*e76c0cf0SGreg Roach $family->shouldReceive('getFacts')->andReturn(array()); 133*e76c0cf0SGreg Roach $family->shouldReceive('getSpouse')->andReturn($spouse); 134*e76c0cf0SGreg Roach 135*e76c0cf0SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 136*e76c0cf0SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 137*e76c0cf0SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 138*e76c0cf0SGreg Roach 139*e76c0cf0SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 140*e76c0cf0SGreg Roach 141*e76c0cf0SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 142*e76c0cf0SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 143*e76c0cf0SGreg Roach 144*e76c0cf0SGreg Roach $this->assertSame('Gift', $column->generate($individual)); 145*e76c0cf0SGreg Roach } 146*e76c0cf0SGreg Roach 147*e76c0cf0SGreg Roach /** 148*e76c0cf0SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 149*e76c0cf0SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 150*e76c0cf0SGreg Roach */ 151*e76c0cf0SGreg Roach public function testSpouseDeadFemale() { 152*e76c0cf0SGreg Roach $spouse = Mockery::mock('Fisharebest\Webtrees\Individual'); 153*e76c0cf0SGreg Roach $spouse->shouldReceive('getDeathDate')->andReturn(new Date('1820')); 154*e76c0cf0SGreg Roach 155*e76c0cf0SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 156*e76c0cf0SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 157*e76c0cf0SGreg Roach $family->shouldReceive('getFacts')->andReturn(array()); 158*e76c0cf0SGreg Roach $family->shouldReceive('getSpouse')->andReturn($spouse); 15973d4df56SGreg Roach 160c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 16100225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 162e2052359SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 16373d4df56SGreg Roach 164c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 16573d4df56SGreg Roach 16673d4df56SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 16773d4df56SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 16873d4df56SGreg Roach 16900225b98SGreg Roach $this->assertSame('Gift', $column->generate($individual)); 17000225b98SGreg Roach } 17100225b98SGreg Roach 17200225b98SGreg Roach /** 17300225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 17400225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 17500225b98SGreg Roach */ 17600225b98SGreg Roach public function testNoFamilyUnmarriedMale() { 17700225b98SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 17800225b98SGreg Roach 17900225b98SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 18000225b98SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 18100225b98SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact)); 18200225b98SGreg Roach 18300225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 18400225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 18500225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 18600225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800')); 18700225b98SGreg Roach 18800225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 18900225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 19000225b98SGreg Roach 19100225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 19200225b98SGreg Roach 19373d4df56SGreg Roach $this->assertSame('Ugift', $column->generate($individual)); 19473d4df56SGreg Roach } 19573d4df56SGreg Roach 19673d4df56SGreg Roach /** 19773d4df56SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 19800225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 19973d4df56SGreg Roach */ 20000225b98SGreg Roach public function testNoFamilyUnmarriedFemale() { 20100225b98SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 20200225b98SGreg Roach 20300225b98SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 20400225b98SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 20500225b98SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact)); 20600225b98SGreg Roach 20700225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 20800225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 20900225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 21000225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1800')); 21100225b98SGreg Roach 21200225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 21300225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 21400225b98SGreg Roach 21500225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 21600225b98SGreg Roach 21700225b98SGreg Roach $this->assertSame('Ugift', $column->generate($individual)); 21800225b98SGreg Roach } 21900225b98SGreg Roach 22000225b98SGreg Roach /** 22100225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 22200225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 22300225b98SGreg Roach */ 22400225b98SGreg Roach public function testChildMale() { 22500225b98SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 22600225b98SGreg Roach 22700225b98SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 22800225b98SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 22900225b98SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact)); 23000225b98SGreg Roach 23100225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 23200225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 23300225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 23400225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820')); 23500225b98SGreg Roach 23600225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 23700225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 23800225b98SGreg Roach 23900225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 24000225b98SGreg Roach 24100225b98SGreg Roach $this->assertSame('', $column->generate($individual)); 24200225b98SGreg Roach } 24300225b98SGreg Roach 24400225b98SGreg Roach /** 24500225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 24600225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 24700225b98SGreg Roach */ 24800225b98SGreg Roach public function testChildFemale() { 24900225b98SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 25000225b98SGreg Roach 25100225b98SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 25200225b98SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 25300225b98SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array($fact)); 25400225b98SGreg Roach 25500225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 25600225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 25700225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 25800225b98SGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('1820')); 25900225b98SGreg Roach 26000225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 26100225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 26200225b98SGreg Roach 26300225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 26400225b98SGreg Roach 26500225b98SGreg Roach $this->assertSame('', $column->generate($individual)); 26600225b98SGreg Roach } 26700225b98SGreg Roach 26800225b98SGreg Roach /** 26900225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 27000225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 27100225b98SGreg Roach */ 27200225b98SGreg Roach public function testDivorcedMale() { 273c314ecc9SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 27473d4df56SGreg Roach 275c314ecc9SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 27673d4df56SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 277e2052359SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array()); 278e2052359SGreg Roach $family->shouldReceive('getFacts')->with('DIV')->andReturn(array($fact)); 27973d4df56SGreg Roach 280c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 28100225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 28200225b98SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 28300225b98SGreg Roach 28400225b98SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 28500225b98SGreg Roach 28600225b98SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 28700225b98SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 28800225b98SGreg Roach 28900225b98SGreg Roach $this->assertSame('Skilt', $column->generate($individual)); 29000225b98SGreg Roach } 29100225b98SGreg Roach 29200225b98SGreg Roach /** 29300225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\CensusColumnConditionDanish 29400225b98SGreg Roach * @covers Fisharebest\Webtrees\Census\AbstractCensusColumnCondition 29500225b98SGreg Roach */ 29600225b98SGreg Roach public function testDivorcedFemale() { 29700225b98SGreg Roach $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); 29800225b98SGreg Roach 29900225b98SGreg Roach $family = Mockery::mock('Fisharebest\Webtrees\Family'); 30000225b98SGreg Roach $family->shouldReceive('getMarriageDate')->andReturn(new Date('')); 30100225b98SGreg Roach $family->shouldReceive('getFacts')->with('_NMR')->andReturn(array()); 30200225b98SGreg Roach $family->shouldReceive('getFacts')->with('DIV')->andReturn(array($fact)); 30300225b98SGreg Roach 30400225b98SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 30500225b98SGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 306e2052359SGreg Roach $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); 30773d4df56SGreg Roach 308c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 30973d4df56SGreg Roach 31073d4df56SGreg Roach $column = new CensusColumnConditionDanish($census, '', ''); 31173d4df56SGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1830'); 31273d4df56SGreg Roach 31373d4df56SGreg Roach $this->assertSame('Skilt', $column->generate($individual)); 314101af0b4SGreg Roach } 315101af0b4SGreg Roach} 316