|
1 | 1 | namespace World.Net.UnitTests.Countries |
2 | 2 | { |
3 | | - public sealed class ElSalvadorTest |
| 3 | + public sealed class ElSalvadorTest : AssertCountryTestBase |
4 | 4 | { |
5 | 5 | private const string ELSALVADOR_NAME = "ElSalvador"; |
6 | | - private const int ELSALVADOR_STATE_COUNT = 14; |
7 | 6 | private const string ELSALVADOR_OFFICIAL_NAME = "Republic of El Salvador"; |
8 | 7 | private const string ELSALVADOR_NATIVE_NAME = "República de El Salvador"; |
9 | 8 | private const string ELSALVADOR_CAPITAL = "San Salvador"; |
10 | 9 | private const int ELSALVADOR_NUMERIC_CODE = 222; |
11 | 10 | private const string ELSALVADOR_ISO2_CODE = "SV"; |
12 | 11 | private const string ELSALVADOR_ISO3_CODE = "SLV"; |
13 | 12 | private readonly string[] ELSALVADOR_CALLING_CODE = ["503"]; |
14 | | - private static readonly string[] VALID_STATE_TYPES = { "Department" }; |
| 13 | + private static CountryIdentifier ExpectedId => CountryIdentifier.ElSalvador; |
| 14 | + private static readonly (string Name, string IsoCode, string Type)[] ExpectedStates = |
| 15 | + { |
| 16 | + new("Ahuachapán", "AH", "Department"), |
| 17 | + new("Cabañas", "CA", "Department"), |
| 18 | + new("Chalatenango", "CH", "Department"), |
| 19 | + new("Cuscatlán", "CU", "Department"), |
| 20 | + new("La Libertad", "LI", "Department"), |
| 21 | + new("La Paz", "PA", "Department"), |
| 22 | + new("La Unión", "UN", "Department"), |
| 23 | + new("Morazán", "MO", "Department"), |
| 24 | + new("San Miguel", "SM", "Department"), |
| 25 | + new("San Salvador", "SS", "Department"), |
| 26 | + new("San Vicente", "SV", "Department"), |
| 27 | + new("Santa Ana", "SA", "Department"), |
| 28 | + new("Sonsonate", "SO", "Department"), |
| 29 | + new("Usulután", "US", "Department") |
| 30 | + }; |
15 | 31 |
|
16 | 32 | [Fact] |
17 | 33 | public void GetCountry_ReturnsCorrectInformation_ForElSalvador() |
18 | 34 | { |
19 | 35 | // Arrange |
20 | | - CountryIdentifier existingCountryId = CountryIdentifier.ElSalvador; |
21 | | - |
22 | 36 | // Act |
23 | | - var country = CountryProvider.GetCountry(existingCountryId); |
| 37 | + var country = CountryProvider.GetCountry(ExpectedId); |
24 | 38 |
|
25 | 39 | // Assert |
26 | | - Assert.Equal(existingCountryId, country.Id); |
27 | | - Assert.Equal(ELSALVADOR_NAME, country.Name); |
28 | | - Assert.NotNull(country.States); |
29 | | - Assert.Equal(ELSALVADOR_STATE_COUNT, country.States.Count()); |
30 | | - Assert.Equal(ELSALVADOR_OFFICIAL_NAME, country.OfficialName); |
31 | | - Assert.Equal(ELSALVADOR_NATIVE_NAME, country.NativeName); |
32 | | - Assert.Equal(ELSALVADOR_CAPITAL, country.Capital); |
33 | | - Assert.Equal(ELSALVADOR_NUMERIC_CODE, country.NumericCode); |
34 | | - Assert.Equal(ELSALVADOR_ISO2_CODE, country.ISO2Code); |
35 | | - Assert.Equal(ELSALVADOR_ISO3_CODE, country.ISO3Code); |
36 | | - Assert.All(country.States, state => Assert.Contains(state.Type, VALID_STATE_TYPES)); |
37 | | - Assert.Equal(ELSALVADOR_CALLING_CODE, country.CallingCode); |
| 40 | + |
| 41 | + AssertCorrectInformation( |
| 42 | + country, |
| 43 | + ExpectedId, |
| 44 | + ELSALVADOR_NAME, |
| 45 | + ELSALVADOR_OFFICIAL_NAME, |
| 46 | + ELSALVADOR_NATIVE_NAME, |
| 47 | + ELSALVADOR_CAPITAL, |
| 48 | + ELSALVADOR_NUMERIC_CODE, |
| 49 | + ELSALVADOR_ISO2_CODE, |
| 50 | + ELSALVADOR_ISO3_CODE, |
| 51 | + ELSALVADOR_CALLING_CODE, |
| 52 | + ExpectedStates |
| 53 | + ); |
38 | 54 | } |
39 | 55 | } |
40 | 56 | } |
0 commit comments