Skip to content

Commit

Permalink
Merge pull request #14 from personnummer/feature/return-values-21
Browse files Browse the repository at this point in the history
Change return values on getAge and format
  • Loading branch information
rasmusbe authored Sep 27, 2019
2 parents 3363798 + 6699062 commit f09e4c5
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 15 deletions.
6 changes: 3 additions & 3 deletions src/Personnummer.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public static function valid($ssn, $includeCoordinationNumber = true)
public static function format($ssn, $longFormat = false)
{
if (!self::valid($ssn)) {
throw new PersonnummerException();
return false;
}

$parts = self::getParts($ssn);
Expand Down Expand Up @@ -101,7 +101,7 @@ public static function format($ssn, $longFormat = false)
public static function getAge($ssn, $includeCoordinationNumber = true)
{
if (!self::valid($ssn, $includeCoordinationNumber)) {
throw new PersonnummerException();
return 0;
}

$parts = self::getParts($ssn);
Expand All @@ -117,7 +117,7 @@ public static function getAge($ssn, $includeCoordinationNumber = true)
try {
$d2 = new DateTime(sprintf('%s%s-%s-%d', $parts['century'], $parts['year'], $parts['month'], $day));
} catch (Exception $e) {
throw new PersonnummerException();
return 0;
}

return $d1->diff($d2)->y;
Expand Down
16 changes: 4 additions & 12 deletions tests/PersonnummerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,7 @@ public function testFormat()
public function testFormatWithInvalidNumbers()
{
foreach ($this->invalidNumbers as $invalidNumber) {
$this->assertException(function () use ($invalidNumber) {
Personnummer::format($invalidNumber);
}, PersonnummerException::class);
$this->assertFalse(Personnummer::format($invalidNumber));
}
}

Expand All @@ -129,20 +127,14 @@ public function testAgeWithCoOrdinationNumbers()
public function testAgeWithInvalidNumbers()
{
foreach ($this->invalidNumbers as $invalidNumber) {
$this->assertException(function () use ($invalidNumber) {
Personnummer::getAge($invalidNumber);
}, PersonnummerException::class);
$this->assertEmpty(Personnummer::getAge($invalidNumber));
}
}

public function testExcludeOfCoOrdinationNumbersAge()
{
$this->assertException(function () {
Personnummer::getAge('701063-2391', false);
}, PersonnummerException::class);
$this->assertException(function () {
Personnummer::getAge('640883-3231', false);
}, PersonnummerException::class);
$this->assertEmpty(Personnummer::getAge('701063-2391', false));
$this->assertEmpty(Personnummer::getAge('640883-3231', false));
}

public function testSex()
Expand Down

0 comments on commit f09e4c5

Please sign in to comment.