Skip to content
This repository was archived by the owner on Dec 11, 2020. It is now read-only.

Commit 7ab37ba

Browse files
Fix date problem that wasn't fixed in last commit
1 parent a3460de commit 7ab37ba

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/Faker/Provider/sv_SE/Person.php

+6-3
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,15 @@ class Person extends \Faker\Provider\Person
114114
/**
115115
* National Personal Identity number (personnummer)
116116
* @link http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden)
117+
* @param \DateTime $birthdate
117118
* @param string $gender Person::GENDER_MALE || Person::GENDER_FEMALE
118-
* @return string 3 letters and 6 digits, like ABA300000
119+
* @return string on format XXXXXX-XXXX
119120
*/
120-
public function personalIdentityNumber($gender = null)
121+
public function personalIdentityNumber(\DateTime $birthdate = null, $gender = null)
121122
{
122-
$birthdate = \Faker\Provider\DateTime::dateTimeThisCentury();
123+
if (!$birthdate) {
124+
$birthdate = \Faker\Provider\DateTime::dateTimeThisCentury();
125+
}
123126
$datePart = $birthdate->format('ymd');
124127

125128
if ($gender && $gender == static::GENDER_MALE) {

test/Faker/Provider/sv_SE/PersonTest.php

+18-9
Original file line numberDiff line numberDiff line change
@@ -20,39 +20,48 @@ public function setUp()
2020
public function provideSeedAndExpectedReturn()
2121
{
2222
return array(
23-
array(1, '720727-0070'),
24-
array(2, '710414-8205'),
25-
array(3, '591012-9245'),
26-
array(4, '180307-9001'),
27-
array(5, '820904-0552')
23+
array(1, '720727', '720727-5798'),
24+
array(2, '710414', '710414-5664'),
25+
array(3, '591012', '591012-4519'),
26+
array(4, '180307', '180307-0356'),
27+
array(5, '820904', '820904-7748')
2828
);
2929
}
3030

3131
/**
3232
* @dataProvider provideSeedAndExpectedReturn
3333
*/
34-
public function testPersonalIdentityNumber($seed, $expected)
34+
public function testPersonalIdentityNumber($seed, $birthdate, $expected)
3535
{
3636
$faker = $this->faker;
3737
$faker->seed($seed);
3838

39-
$this->assertEquals($expected, $faker->personalIdentityNumber());
39+
$this->assertEquals(
40+
$expected,
41+
$faker->personalIdentityNumber(\DateTime::createFromFormat('ymd', $birthdate))
42+
);
4043
}
4144

4245
public function testUsesOddValuesForMales()
4346
{
4447
$faker = $this->faker;
4548
$faker->seed(1);
4649

47-
$this->assertEquals('720727-0070', $faker->personalIdentityNumber('male'));
50+
$this->assertEquals(
51+
'720727-5715',
52+
$faker->personalIdentityNumber(\DateTime::createFromFormat('ymd', '720727'), 'male')
53+
);
4854
}
4955

5056
public function testUsesEvenValuesForFemales()
5157
{
5258
$faker = $this->faker;
5359
$faker->seed(1);
5460

55-
$this->assertEquals('720727-0062', $faker->personalIdentityNumber('female'));
61+
$this->assertEquals(
62+
'720727-5707',
63+
$faker->personalIdentityNumber(\DateTime::createFromFormat('ymd', '720727'), 'female')
64+
);
5665

5766
}
5867
}

0 commit comments

Comments
 (0)