Skip to content

Commit e79aa6b

Browse files
committed
Add Country::getCode functionality
1 parent b694efb commit e79aa6b

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/Country.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,24 @@ private function getLanguage(array $values, string $language): string
5353
return $values[$language];
5454
}
5555

56+
/**
57+
* Returns the code of country.
58+
*
59+
* @return string
60+
*/
61+
public function getCode(): string
62+
{
63+
if ($this->country === '') {
64+
return CountryUnknown::COUNTRY_CODE_IV;
65+
}
66+
67+
if (!array_key_exists($this->country, CountryAll::COUNTRY_NAMES)) {
68+
return CountryUnknown::COUNTRY_CODE_UK;
69+
}
70+
71+
return $this->country;
72+
}
73+
5674
/**
5775
* Returns the name of country.
5876
*

tests/Unit/CountryTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,19 +82,27 @@ public function dataProvider(): array
8282
/**
8383
* getName: Africa
8484
*/
85+
[++$number, 'getCode', null, CountryAfrica::COUNTRY_CODE_CI, CountryAfrica::COUNTRY_CODE_CI],
8586
[++$number, 'getName', null, CountryAfrica::COUNTRY_CODE_CI, CountryAfrica::COUNTRY_NAME_CI[Language::EN_GB]],
87+
[++$number, 'getCode', null, CountryAfrica::COUNTRY_CODE_GH, CountryAfrica::COUNTRY_CODE_GH],
8688
[++$number, 'getName', null, CountryAfrica::COUNTRY_CODE_GH, CountryAfrica::COUNTRY_NAME_GH[Language::EN_GB]],
8789

8890
/**
8991
* getName: Africa
9092
*/
93+
[++$number, 'getCode', null, CountryAmerica::COUNTRY_CODE_AR, CountryAmerica::COUNTRY_CODE_AR],
9194
[++$number, 'getName', null, CountryAmerica::COUNTRY_CODE_AR, CountryAmerica::COUNTRY_NAME_AR[Language::EN_GB]],
9295

9396
/**
9497
* getName: Asia
9598
*/
99+
[++$number, 'getCode', null, CountryAsia::COUNTRY_CODE_AE, CountryAsia::COUNTRY_CODE_AE],
96100
[++$number, 'getName', null, CountryAsia::COUNTRY_CODE_AE, CountryAsia::COUNTRY_NAME_AE[Language::EN_GB]],
101+
[++$number, 'getCode', null, CountryAsia::COUNTRY_CODE_IN, CountryAsia::COUNTRY_CODE_IN],
102+
[++$number, 'getName', null, CountryAsia::COUNTRY_CODE_IN, CountryAsia::COUNTRY_NAME_IN[Language::EN_GB]],
103+
[++$number, 'getCode', null, CountryAsia::COUNTRY_CODE_KZ, CountryAsia::COUNTRY_CODE_KZ],
97104
[++$number, 'getName', null, CountryAsia::COUNTRY_CODE_KZ, CountryAsia::COUNTRY_NAME_KZ[Language::EN_GB]],
105+
[++$number, 'getCode', null, CountryAsia::COUNTRY_CODE_RU, CountryAsia::COUNTRY_CODE_RU],
98106
[++$number, 'getName', null, CountryAsia::COUNTRY_CODE_RU, CountryAsia::COUNTRY_NAME_RU[Language::EN_GB]],
99107

100108
/**
@@ -130,7 +138,9 @@ public function dataProvider(): array
130138
/**
131139
* getName: Unknown/Invalid
132140
*/
141+
[++$number, 'getCode', null, '', CountryUnknown::COUNTRY_CODE_IV],
133142
[++$number, 'getName', null, '', CountryUnknown::COUNTRY_NAME_IV[Language::EN_GB]],
143+
[++$number, 'getCode', null, 'XX', CountryUnknown::COUNTRY_CODE_UK],
134144
[++$number, 'getName', null, 'XX', CountryUnknown::COUNTRY_NAME_UK[Language::EN_GB]],
135145
];
136146
}

0 commit comments

Comments
 (0)