181d1be7aSGreg Roach<?php 23976b470SGreg Roach 381d1be7aSGreg Roach/** 481d1be7aSGreg Roach * webtrees: online genealogy 5*5e933c21SGreg Roach * Copyright (C) 2020 webtrees development team 681d1be7aSGreg Roach * This program is free software: you can redistribute it and/or modify 781d1be7aSGreg Roach * it under the terms of the GNU General Public License as published by 881d1be7aSGreg Roach * the Free Software Foundation, either version 3 of the License, or 981d1be7aSGreg Roach * (at your option) any later version. 1081d1be7aSGreg Roach * This program is distributed in the hope that it will be useful, 1181d1be7aSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of 1281d1be7aSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1381d1be7aSGreg Roach * GNU General Public License for more details. 1481d1be7aSGreg Roach * You should have received a copy of the GNU General Public License 1581d1be7aSGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>. 1681d1be7aSGreg Roach */ 17fcfa147eSGreg Roach 18e7f56f2aSGreg Roachdeclare(strict_types=1); 19e7f56f2aSGreg Roach 2081d1be7aSGreg Roachnamespace Fisharebest\Webtrees\Census; 2181d1be7aSGreg Roach 2281d1be7aSGreg Roachuse Fisharebest\Webtrees\Date; 23ddf438a5SGreg Roachuse Fisharebest\Webtrees\Fact; 24ddf438a5SGreg Roachuse Fisharebest\Webtrees\Family; 25ddf438a5SGreg Roachuse Fisharebest\Webtrees\Individual; 263cfcc809SGreg Roachuse Fisharebest\Webtrees\TestCase; 2739ca88baSGreg Roachuse Illuminate\Support\Collection; 2881d1be7aSGreg Roach 2981d1be7aSGreg Roach/** 3081d1be7aSGreg Roach * Test harness for the class CensusColumnAgeMarried 3181d1be7aSGreg Roach */ 323cfcc809SGreg Roachclass CensusColumnAgeMarriedTest extends TestCase 33c1010edaSGreg Roach{ 3481d1be7aSGreg Roach /** 3515d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMarried 3615d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 3752348eb8SGreg Roach * 3852348eb8SGreg Roach * @return void 3981d1be7aSGreg Roach */ 409b802b22SGreg Roach public function testAgeMarried(): void 41c1010edaSGreg Roach { 42*5e933c21SGreg Roach $fact = self::createMock(Fact::class); 430ecdbde6SGreg Roach $fact->method('date')->willReturn(new Date('01 DEC 1859')); 4481d1be7aSGreg Roach 45*5e933c21SGreg Roach $family = self::createMock(Family::class); 460ecdbde6SGreg Roach $family->method('facts')->with(['MARR'], true)->willReturn(new Collection([$fact])); 4781d1be7aSGreg Roach 48*5e933c21SGreg Roach $individual = self::createMock(Individual::class); 490ecdbde6SGreg Roach $individual->method('getBirthDate')->willReturn(new Date('15 MAR 1840')); 500ecdbde6SGreg Roach $individual->method('spouseFamilies')->willReturn(new Collection([$family])); 5181d1be7aSGreg Roach 52*5e933c21SGreg Roach $census = self::createMock(CensusInterface::class); 530ecdbde6SGreg Roach $census->method('censusDate')->willReturn('01 JUN 1860'); 5481d1be7aSGreg Roach 5581d1be7aSGreg Roach $column = new CensusColumnAgeMarried($census, '', ''); 5681d1be7aSGreg Roach 57*5e933c21SGreg Roach self::assertSame('19', $column->generate($individual, $individual)); 5881d1be7aSGreg Roach } 5981d1be7aSGreg Roach 6081d1be7aSGreg Roach /** 6115d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMarried 6215d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 6352348eb8SGreg Roach * 6452348eb8SGreg Roach * @return void 6581d1be7aSGreg Roach */ 669b802b22SGreg Roach public function testNoBirthDate(): void 67c1010edaSGreg Roach { 68*5e933c21SGreg Roach $individual = self::createMock(Individual::class); 690ecdbde6SGreg Roach $individual->method('getBirthDate')->willReturn(new Date('')); 700ecdbde6SGreg Roach $individual->method('spouseFamilies')->willReturn(new Collection()); 713e983931SGreg Roach 72*5e933c21SGreg Roach $census = self::createMock(CensusInterface::class); 730ecdbde6SGreg Roach $census->method('censusDate')->willReturn('01 JUN 1860'); 743e983931SGreg Roach 753e983931SGreg Roach $column = new CensusColumnAgeMarried($census, '', ''); 763e983931SGreg Roach 77*5e933c21SGreg Roach self::assertSame('', $column->generate($individual, $individual)); 7881d1be7aSGreg Roach } 7981d1be7aSGreg Roach 8081d1be7aSGreg Roach /** 8115d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMarried 8215d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 8352348eb8SGreg Roach * 8452348eb8SGreg Roach * @return void 8581d1be7aSGreg Roach */ 869b802b22SGreg Roach public function testNoMarriage(): void 87c1010edaSGreg Roach { 88*5e933c21SGreg Roach $family = self::createMock(Family::class); 890ecdbde6SGreg Roach $family->method('facts')->with(['MARR'])->willReturn(new Collection()); 9081d1be7aSGreg Roach 91*5e933c21SGreg Roach $individual = self::createMock(Individual::class); 920ecdbde6SGreg Roach $individual->method('getBirthDate')->willReturn(new Date('')); 930ecdbde6SGreg Roach $individual->method('spouseFamilies')->willReturn(new Collection([$family])); 9481d1be7aSGreg Roach 95*5e933c21SGreg Roach $census = self::createMock(CensusInterface::class); 960ecdbde6SGreg Roach $census->method('censusDate')->willReturn('01 JUN 1860'); 9781d1be7aSGreg Roach 9881d1be7aSGreg Roach $column = new CensusColumnAgeMarried($census, '', ''); 9981d1be7aSGreg Roach 100*5e933c21SGreg Roach self::assertSame('', $column->generate($individual, $individual)); 10181d1be7aSGreg Roach } 10281d1be7aSGreg Roach 10381d1be7aSGreg Roach /** 10415d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMarried 10515d603e7SGreg Roach * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn 10652348eb8SGreg Roach * 10752348eb8SGreg Roach * @return void 10881d1be7aSGreg Roach */ 1099b802b22SGreg Roach public function testNoSpouseFamily(): void 110c1010edaSGreg Roach { 111*5e933c21SGreg Roach $individual = self::createMock(Individual::class); 1120ecdbde6SGreg Roach $individual->method('getBirthDate')->willReturn(new Date('15 MAR 1840')); 1130ecdbde6SGreg Roach $individual->method('spouseFamilies')->willReturn(new Collection()); 11481d1be7aSGreg Roach 115*5e933c21SGreg Roach $census = self::createMock(CensusInterface::class); 1160ecdbde6SGreg Roach $census->method('censusDate')->willReturn('01 JUN 1860'); 11781d1be7aSGreg Roach 11881d1be7aSGreg Roach $column = new CensusColumnAgeMarried($census, '', ''); 11981d1be7aSGreg Roach 120*5e933c21SGreg Roach self::assertSame('', $column->generate($individual, $individual)); 12181d1be7aSGreg Roach } 12281d1be7aSGreg Roach} 123