diff --git a/Source/Porticle.CLDR.Units.Tests/UnitTests.cs b/Source/Porticle.CLDR.Units.Tests/UnitTests.cs index 7a82439..6a9ba14 100644 --- a/Source/Porticle.CLDR.Units.Tests/UnitTests.cs +++ b/Source/Porticle.CLDR.Units.Tests/UnitTests.cs @@ -63,4 +63,25 @@ public void TestAll() } } } -} \ No newline at end of file + + [TestMethod] + public void GetUnitGenderAfterDisplayNameLookupMatchesEmbeddedGender() + { + const Unit unit = Unit.DurationWeek; + const string language = "de"; + + var loader = new CldrResourceLoader(); + var expectedGender = loader.Load(unit).GetUnitGender(language); + + Assert.IsNotNull(expectedGender, "The embedded data does not contain a gender for the selected language."); + + var cldrUnits = new CldrUnits(unit); + + var displayName = cldrUnits.GetDisplayName(language, PluralFormLength.Long); + Assert.IsNotNull(displayName, "The regression scenario requires an available display name."); + + var genderAfterDisplayNameLookup = cldrUnits.GetUnitGender(language); + + Assert.AreEqual(expectedGender.Value, genderAfterDisplayNameLookup); + } +} diff --git a/Source/Porticle.CLDR.Units/Serialization/CldrResourceLoader.cs b/Source/Porticle.CLDR.Units/Serialization/CldrResourceLoader.cs index d380d9a..3bb8d6d 100644 --- a/Source/Porticle.CLDR.Units/Serialization/CldrResourceLoader.cs +++ b/Source/Porticle.CLDR.Units/Serialization/CldrResourceLoader.cs @@ -107,9 +107,9 @@ private PatternsForUnit CreatePluralPatternsForCasesForLanguages(List