diff options
6 files changed, 74 insertions, 6 deletions
diff --git a/app/Census/CensusColumnMarriedWithinYear.php b/app/Census/CensusColumnMarriedWithinYear.php index 504e98bc3d..6edeaab8b8 100644 --- a/app/Census/CensusColumnMarriedWithinYear.php +++ b/app/Census/CensusColumnMarriedWithinYear.php @@ -32,7 +32,9 @@ class CensusColumnMarriedWithinYear extends AbstractCensusColumn implements Cens public function generate(Individual $individual, Individual $head = null) { foreach ($individual->getSpouseFamilies() as $family) { foreach ($family->getFacts('MARR') as $fact) { - if ($fact->getDate()->julianDay() + 365 >= $this->date()->julianDay()) { + $marriage_jd = $fact->getDate()->julianDay(); + $census_jd = $this->date()->julianDay(); + if ($marriage_jd <= $census_jd && $marriage_jd >= $census_jd - 365) { return 'Y'; } } diff --git a/app/Census/CensusColumnMonthIfBornWithinYear.php b/app/Census/CensusColumnMonthIfBornWithinYear.php index f0dbc4d40f..986863cd03 100644 --- a/app/Census/CensusColumnMonthIfBornWithinYear.php +++ b/app/Census/CensusColumnMonthIfBornWithinYear.php @@ -30,7 +30,9 @@ class CensusColumnMonthIfBornWithinYear extends AbstractCensusColumn implements * @return string */ public function generate(Individual $individual, Individual $head = null) { - if ($individual->getBirthDate()->julianDay() + 365 >= $this->date()->julianDay()) { + $birth_jd = $individual->getBirthDate()->julianDay(); + $census_jd = $this->date()->julianDay(); + if ($birth_jd <= $census_jd && $birth_jd >= $census_jd - 365) { // Use the GEDCOM month, as we need this in English - for the US census return ucfirst(strtolower($individual->getBirthDate()->minimumDate()->format('%O'))); } else { diff --git a/app/Census/CensusColumnMonthIfMarriedWithinYear.php b/app/Census/CensusColumnMonthIfMarriedWithinYear.php index a1b8237485..ed941533f1 100644 --- a/app/Census/CensusColumnMonthIfMarriedWithinYear.php +++ b/app/Census/CensusColumnMonthIfMarriedWithinYear.php @@ -32,7 +32,9 @@ class CensusColumnMonthIfMarriedWithinYear extends AbstractCensusColumn implemen public function generate(Individual $individual, Individual $head = null) { foreach ($individual->getSpouseFamilies() as $family) { foreach ($family->getFacts('MARR') as $fact) { - if ($fact->getDate()->julianDay() + 365 >= $this->date()->julianDay()) { + $marriage_jd = $fact->getDate()->julianDay(); + $census_jd = $this->date()->julianDay(); + if ($marriage_jd <= $census_jd && $marriage_jd >= $census_jd - 365) { // Use the GEDCOM month, as we need this in English - for the US census return ucfirst(strtolower($fact->getDate()->minimumDate()->format('%O'))); } diff --git a/tests/app/Census/CensusColumnMarriedWithinYearTest.php b/tests/app/Census/CensusColumnMarriedWithinYearTest.php index 0fe75c5d92..115cf66d3e 100644 --- a/tests/app/Census/CensusColumnMarriedWithinYearTest.php +++ b/tests/app/Census/CensusColumnMarriedWithinYearTest.php @@ -56,7 +56,7 @@ class CensusColumnMarriedWithinYearTest extends \PHPUnit_Framework_TestCase { * @covers Fisharebest\Webtrees\Census\CensusColumnMarriedWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ - public function testNotMarriedWithinYear() { + public function testMarriedOverYearBeforeTheCensus() { $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); $fact->shouldReceive('getDate')->andReturn(new Date('01 JAN 1859')); @@ -78,6 +78,28 @@ class CensusColumnMarriedWithinYearTest extends \PHPUnit_Framework_TestCase { * @covers Fisharebest\Webtrees\Census\CensusColumnMarriedWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ + public function testMarriedAfterTheCensus() { + $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); + $fact->shouldReceive('getDate')->andReturn(new Date('02 JUN 1860')); + + $family = Mockery::mock('Fisharebest\Webtrees\Family'); + $family->shouldReceive('getFacts')->with('MARR')->andReturn(array($fact)); + + $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); + $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); + + $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); + $census->shouldReceive('censusDate')->andReturn('01 JUN 1860'); + + $column = new CensusColumnMarriedWithinYear($census, '', ''); + + $this->assertSame('', $column->generate($individual)); + } + + /** + * @covers Fisharebest\Webtrees\Census\CensusColumnMarriedWithinYear + * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn + */ public function testNoMarriage() { $family = Mockery::mock('Fisharebest\Webtrees\Family'); $family->shouldReceive('getFacts')->with('MARR')->andReturn(array()); diff --git a/tests/app/Census/CensusColumnMonthIfBornWithinYearTest.php b/tests/app/Census/CensusColumnMonthIfBornWithinYearTest.php index f652368abe..b7d2ecb259 100644 --- a/tests/app/Census/CensusColumnMonthIfBornWithinYearTest.php +++ b/tests/app/Census/CensusColumnMonthIfBornWithinYearTest.php @@ -50,7 +50,7 @@ class CensusColumnMonthIfBornWithinYearTest extends \PHPUnit_Framework_TestCase * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfBornWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ - public function testNotBornWithinYear() { + public function testBornOverYearBeforeTheCensus() { $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); $individual->shouldReceive('getBirthDate')->andReturn(new Date('01 JAN 1859')); @@ -66,6 +66,24 @@ class CensusColumnMonthIfBornWithinYearTest extends \PHPUnit_Framework_TestCase * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfBornWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ + public function testBornAfterTheCensus() { + $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); + $individual->shouldReceive('getBirthDate')->andReturn(new Date('02 JUN 1860')); + + $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); + $census->shouldReceive('censusDate')->andReturn('01 JUN 1860'); + + + $column = new CensusColumnMonthIfBornWithinYear($census, '', ''); + + $this->assertSame('', $column->generate($individual)); + } + + + /** + * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfBornWithinYear + * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn + */ public function testNoBirth() { $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); $individual->shouldReceive('getBirthDate')->andReturn(new Date('')); diff --git a/tests/app/Census/CensusColumnMonthIfMarriedWithinYearTest.php b/tests/app/Census/CensusColumnMonthIfMarriedWithinYearTest.php index 08d546a752..aca477d979 100644 --- a/tests/app/Census/CensusColumnMonthIfMarriedWithinYearTest.php +++ b/tests/app/Census/CensusColumnMonthIfMarriedWithinYearTest.php @@ -56,7 +56,7 @@ class CensusColumnMonthIfMarriedWithinYearTest extends \PHPUnit_Framework_TestCa * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfMarriedWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ - public function testNotMarriedWithinYear() { + public function testMarriedOverYearBeforeTheCensus() { $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); $fact->shouldReceive('getDate')->andReturn(new Date('01 JAN 1859')); @@ -78,6 +78,28 @@ class CensusColumnMonthIfMarriedWithinYearTest extends \PHPUnit_Framework_TestCa * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfMarriedWithinYear * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn */ + public function testMarriedAfterTheCensus() { + $fact = Mockery::mock('Fisharebest\Webtrees\Fact'); + $fact->shouldReceive('getDate')->andReturn(new Date('02 JUN 1860')); + + $family = Mockery::mock('Fisharebest\Webtrees\Family'); + $family->shouldReceive('getFacts')->with('MARR')->andReturn(array($fact)); + + $individual = Mockery::mock('Fisharebest\Webtrees\Individual'); + $individual->shouldReceive('getSpouseFamilies')->andReturn(array($family)); + + $census = Mockery::mock('Fisharebest\Webtrees\Census\CensusInterface'); + $census->shouldReceive('censusDate')->andReturn('01 JUN 1860'); + + $column = new CensusColumnMonthIfMarriedWithinYear($census, '', ''); + + $this->assertSame('', $column->generate($individual)); + } + + /** + * @covers Fisharebest\Webtrees\Census\CensusColumnMonthIfMarriedWithinYear + * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn + */ public function testNoMarriage() { $family = Mockery::mock('Fisharebest\Webtrees\Family'); $family->shouldReceive('getFacts')->with('MARR')->andReturn(array()); |
