xref: /webtrees/tests/app/Census/CensusColumnAgeMale5YearsTest.php (revision 52348eb8c11b06a8488e13475e6561273832716a)
1db7d25eeSGreg Roach<?php
2db7d25eeSGreg Roach/**
3db7d25eeSGreg Roach * webtrees: online genealogy
41062a142SGreg Roach * Copyright (C) 2018 webtrees development team
5db7d25eeSGreg Roach * This program is free software: you can redistribute it and/or modify
6db7d25eeSGreg Roach * it under the terms of the GNU General Public License as published by
7db7d25eeSGreg Roach * the Free Software Foundation, either version 3 of the License, or
8db7d25eeSGreg Roach * (at your option) any later version.
9db7d25eeSGreg Roach * This program is distributed in the hope that it will be useful,
10db7d25eeSGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
11db7d25eeSGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12db7d25eeSGreg Roach * GNU General Public License for more details.
13db7d25eeSGreg Roach * You should have received a copy of the GNU General Public License
14db7d25eeSGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>.
15db7d25eeSGreg Roach */
16db7d25eeSGreg Roachnamespace Fisharebest\Webtrees\Census;
17db7d25eeSGreg Roach
18db7d25eeSGreg Roachuse Fisharebest\Webtrees\Date;
19db7d25eeSGreg Roachuse Mockery;
20db7d25eeSGreg Roach
21db7d25eeSGreg Roach/**
22db7d25eeSGreg Roach * Test harness for the class CensusColumnAgeMale5Years5Years
23db7d25eeSGreg Roach */
2484e2cf4eSGreg Roachclass CensusColumnAgeMale5YearsTest extends \Fisharebest\Webtrees\TestCase
25c1010edaSGreg Roach{
26db7d25eeSGreg Roach    /**
27db7d25eeSGreg Roach     * Delete mock objects
28*52348eb8SGreg Roach     *
29*52348eb8SGreg Roach     * @return void
30db7d25eeSGreg Roach     */
31c1010edaSGreg Roach    public function tearDown()
32c1010edaSGreg Roach    {
33db7d25eeSGreg Roach        Mockery::close();
34db7d25eeSGreg Roach    }
35db7d25eeSGreg Roach
36db7d25eeSGreg Roach    /**
3715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
3815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
39*52348eb8SGreg Roach     *
40*52348eb8SGreg Roach     * @return void
41db7d25eeSGreg Roach     */
42c1010edaSGreg Roach    public function testMale()
43c1010edaSGreg Roach    {
44c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
45db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('M');
46db7d25eeSGreg Roach        $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800'));
47db7d25eeSGreg Roach
48c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
49db7d25eeSGreg Roach        $census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
50db7d25eeSGreg Roach
51ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
52db7d25eeSGreg Roach
53342dcecdSGreg Roach        $this->assertSame('30', $column->generate($individual, $individual));
54db7d25eeSGreg Roach    }
55db7d25eeSGreg Roach
56db7d25eeSGreg Roach    /**
5715d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
5815d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
59*52348eb8SGreg Roach     *
60*52348eb8SGreg Roach     * @return void
61db7d25eeSGreg Roach     */
62c1010edaSGreg Roach    public function testFemale()
63c1010edaSGreg Roach    {
64c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
65db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('F');
66db7d25eeSGreg Roach
67c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
68db7d25eeSGreg Roach
69ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
70db7d25eeSGreg Roach
71342dcecdSGreg Roach        $this->assertSame('', $column->generate($individual, $individual));
72db7d25eeSGreg Roach    }
73db7d25eeSGreg Roach
74db7d25eeSGreg Roach    /**
7515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
7615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
77*52348eb8SGreg Roach     *
78*52348eb8SGreg Roach     * @return void
79db7d25eeSGreg Roach     */
80c1010edaSGreg Roach    public function testUnknownSex()
81c1010edaSGreg Roach    {
82c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
83db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('U');
84db7d25eeSGreg Roach        $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800'));
85db7d25eeSGreg Roach
86c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
87db7d25eeSGreg Roach        $census->shouldReceive('censusDate')->andReturn('30 JUN 1830');
88db7d25eeSGreg Roach
89ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
90db7d25eeSGreg Roach
91342dcecdSGreg Roach        $this->assertSame('30', $column->generate($individual, $individual));
92db7d25eeSGreg Roach    }
93db7d25eeSGreg Roach
94db7d25eeSGreg Roach    /**
9515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
9615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
97*52348eb8SGreg Roach     *
98*52348eb8SGreg Roach     * @return void
99db7d25eeSGreg Roach     */
100c1010edaSGreg Roach    public function testLessThanOneYear()
101c1010edaSGreg Roach    {
102c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
103db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('M');
104db7d25eeSGreg Roach        $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800'));
105db7d25eeSGreg Roach
106c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
107db7d25eeSGreg Roach        $census->shouldReceive('censusDate')->andReturn('30 JUN 1800');
108db7d25eeSGreg Roach
109ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
110db7d25eeSGreg Roach
111342dcecdSGreg Roach        $this->assertSame('0', $column->generate($individual, $individual));
112db7d25eeSGreg Roach    }
113db7d25eeSGreg Roach
114db7d25eeSGreg Roach    /**
11515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
11615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
117*52348eb8SGreg Roach     *
118*52348eb8SGreg Roach     * @return void
119db7d25eeSGreg Roach     */
120c1010edaSGreg Roach    public function testLessThanFifteenYears()
121c1010edaSGreg Roach    {
122c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
123db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('M');
124db7d25eeSGreg Roach        $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800'));
125db7d25eeSGreg Roach
126c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
127db7d25eeSGreg Roach        $census->shouldReceive('censusDate')->andReturn('30 JUN 1814');
128db7d25eeSGreg Roach
129ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
130db7d25eeSGreg Roach
131342dcecdSGreg Roach        $this->assertSame('14', $column->generate($individual, $individual));
132db7d25eeSGreg Roach    }
133db7d25eeSGreg Roach
134db7d25eeSGreg Roach    /**
13515d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\CensusColumnAgeMale5Years
13615d603e7SGreg Roach     * @covers \Fisharebest\Webtrees\Census\AbstractCensusColumn
137*52348eb8SGreg Roach     *
138*52348eb8SGreg Roach     * @return void
139db7d25eeSGreg Roach     */
140c1010edaSGreg Roach    public function testRoundedDownToFiveYears()
141c1010edaSGreg Roach    {
142c314ecc9SGreg Roach        $individual = Mockery::mock('Fisharebest\Webtrees\Individual');
143db7d25eeSGreg Roach        $individual->shouldReceive('getSex')->andReturn('M');
144db7d25eeSGreg Roach        $individual->shouldReceive('getEstimatedBirthDate')->andReturn(new Date('01 JAN 1800'));
145db7d25eeSGreg Roach
146c314ecc9SGreg Roach        $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface');
147db7d25eeSGreg Roach        $census->shouldReceive('censusDate')->andReturn('30 JUN 1844');
148db7d25eeSGreg Roach
149ef21b467SGreg Roach        $column = new CensusColumnAgeMale5Years($census, '', '');
150db7d25eeSGreg Roach
151342dcecdSGreg Roach        $this->assertSame('40', $column->generate($individual, $individual));
152db7d25eeSGreg Roach    }
153db7d25eeSGreg Roach}
154