1db7d25eeSGreg Roach<?php 2db7d25eeSGreg Roach 3db7d25eeSGreg Roach/** 4db7d25eeSGreg Roach * webtrees: online genealogy 56bdf7674SGreg Roach * Copyright (C) 2017 webtrees development team 6db7d25eeSGreg Roach * This program is free software: you can redistribute it and/or modify 7db7d25eeSGreg Roach * it under the terms of the GNU General Public License as published by 8db7d25eeSGreg Roach * the Free Software Foundation, either version 3 of the License, or 9db7d25eeSGreg Roach * (at your option) any later version. 10db7d25eeSGreg Roach * This program is distributed in the hope that it will be useful, 11db7d25eeSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 12db7d25eeSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13db7d25eeSGreg Roach * GNU General Public License for more details. 14db7d25eeSGreg Roach * You should have received a copy of the GNU General Public License 15db7d25eeSGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>. 16db7d25eeSGreg Roach */ 17db7d25eeSGreg Roachnamespace Fisharebest\Webtrees\Census; 18db7d25eeSGreg Roach 19db7d25eeSGreg Roachuse Fisharebest\Webtrees\Date; 20db7d25eeSGreg Roachuse Mockery; 21db7d25eeSGreg Roach 22db7d25eeSGreg Roach/** 23db7d25eeSGreg Roach * Test harness for the class CensusColumnAgeMale 24db7d25eeSGreg Roach */ 25*3e983931SGreg Roachclass CensusColumnAgeMaleTest extends \PHPUnit\Framework\TestCase { 26db7d25eeSGreg Roach /** 27db7d25eeSGreg Roach * Delete mock objects 28db7d25eeSGreg Roach */ 29db7d25eeSGreg Roach public function tearDown() { 30db7d25eeSGreg Roach Mockery::close(); 31db7d25eeSGreg Roach } 32db7d25eeSGreg Roach 33db7d25eeSGreg Roach /** 3415d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale 3515d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 36db7d25eeSGreg Roach */ 37db7d25eeSGreg Roach public function testMale() { 38c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 39db7d25eeSGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 40db7d25eeSGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800')); 41db7d25eeSGreg Roach 42c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 43db7d25eeSGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1832'); 44db7d25eeSGreg Roach 45ef21b467SGreg Roach $column = new CensusColumnAgeMale($census, '', ''); 46db7d25eeSGreg Roach 47db7d25eeSGreg Roach $this->assertSame('32', $column->generate($individual)); 48db7d25eeSGreg Roach } 49db7d25eeSGreg Roach 50db7d25eeSGreg Roach /** 5115d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale 5215d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 53db7d25eeSGreg Roach */ 54db7d25eeSGreg Roach public function testFemale() { 55c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 56db7d25eeSGreg Roach $individual->shouldReceive('getSex')->andReturn('F'); 57db7d25eeSGreg Roach 58c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 59db7d25eeSGreg Roach 60ef21b467SGreg Roach $column = new CensusColumnAgeMale($census, '', ''); 61db7d25eeSGreg Roach 62db7d25eeSGreg Roach $this->assertSame('', $column->generate($individual)); 63db7d25eeSGreg Roach } 64db7d25eeSGreg Roach 65db7d25eeSGreg Roach /** 6615d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale 6715d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 68db7d25eeSGreg Roach */ 69db7d25eeSGreg Roach public function testUnknownSex() { 70c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 71db7d25eeSGreg Roach $individual->shouldReceive('getSex')->andReturn('U'); 72db7d25eeSGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800')); 73db7d25eeSGreg Roach 74c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 75db7d25eeSGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1832'); 76db7d25eeSGreg Roach 77ef21b467SGreg Roach $column = new CensusColumnAgeMale($census, '', ''); 78db7d25eeSGreg Roach 79db7d25eeSGreg Roach $this->assertSame('32', $column->generate($individual)); 80db7d25eeSGreg Roach } 81db7d25eeSGreg Roach 82db7d25eeSGreg Roach /** 8315d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale 8415d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 85db7d25eeSGreg Roach */ 86db7d25eeSGreg Roach public function testLessThanOneYear() { 87c314ecc9SGreg Roach $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); 88db7d25eeSGreg Roach $individual->shouldReceive('getSex')->andReturn('M'); 89db7d25eeSGreg Roach $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800')); 90db7d25eeSGreg Roach 91c314ecc9SGreg Roach $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); 92db7d25eeSGreg Roach $census->shouldReceive('censusDate')->andReturn('30 JUN 1800'); 93db7d25eeSGreg Roach 94ef21b467SGreg Roach $column = new CensusColumnAgeMale($census, '', ''); 95db7d25eeSGreg Roach 96db7d25eeSGreg Roach $this->assertSame('0', $column->generate($individual)); 97db7d25eeSGreg Roach } 98db7d25eeSGreg Roach} 99