diff --git a/src/Humanizer.Tests/Humanizer.Tests.csproj b/src/Humanizer.Tests/Humanizer.Tests.csproj index a0493daa3..ed7a2d784 100644 --- a/src/Humanizer.Tests/Humanizer.Tests.csproj +++ b/src/Humanizer.Tests/Humanizer.Tests.csproj @@ -108,6 +108,7 @@ + diff --git a/src/Humanizer.Tests/Localisation/nl/OrdinalizeTests.cs b/src/Humanizer.Tests/Localisation/nl/OrdinalizeTests.cs new file mode 100644 index 000000000..456231155 --- /dev/null +++ b/src/Humanizer.Tests/Localisation/nl/OrdinalizeTests.cs @@ -0,0 +1,32 @@ +using Xunit; +using Xunit.Extensions; + +namespace Humanizer.Tests.Localisation.nl +{ + public class OrdinalizeTests : AmbientCulture + { + public OrdinalizeTests() + : base("nl") + { + } + + [Theory] + [InlineData("0", "0")] + [InlineData("1", "1e")] + [InlineData("2", "2e")] + [InlineData("3", "3e")] + [InlineData("4", "4e")] + [InlineData("5", "5e")] + [InlineData("6", "6e")] + [InlineData("23", "23e")] + [InlineData("100", "100e")] + [InlineData("101", "101e")] + [InlineData("102", "102e")] + [InlineData("103", "103e")] + [InlineData("1001", "1001e")] + public void OrdinalizeString(string number, string ordinalized) + { + Assert.Equal(number.Ordinalize(), ordinalized); + } + } +} \ No newline at end of file diff --git a/src/Humanizer/Configuration/OrdinalizerRegistry.cs b/src/Humanizer/Configuration/OrdinalizerRegistry.cs index 1a8004d49..0bf1b1c1b 100644 --- a/src/Humanizer/Configuration/OrdinalizerRegistry.cs +++ b/src/Humanizer/Configuration/OrdinalizerRegistry.cs @@ -10,6 +10,7 @@ public OrdinalizerRegistry() : base(new DefaultOrdinalizer()) Register("en", new EnglishOrdinalizer()); Register("es", new SpanishOrdinalizer()); Register("it", new ItalianOrdinalizer()); + Register("nl", new DutchOrdinalizer()); Register("pt-BR", new BrazilianPortugueseOrdinalizer()); Register("ru", new RussianOrdinalizer()); Register("tr", new TurkishOrdinalizer()); diff --git a/src/Humanizer/Humanizer.csproj b/src/Humanizer/Humanizer.csproj index dcecbf994..1a1db208b 100644 --- a/src/Humanizer/Humanizer.csproj +++ b/src/Humanizer/Humanizer.csproj @@ -110,6 +110,7 @@ + diff --git a/src/Humanizer/Localisation/Ordinalizers/DutchOrdinalizer.cs b/src/Humanizer/Localisation/Ordinalizers/DutchOrdinalizer.cs new file mode 100644 index 000000000..92c548205 --- /dev/null +++ b/src/Humanizer/Localisation/Ordinalizers/DutchOrdinalizer.cs @@ -0,0 +1,19 @@ +namespace Humanizer.Localisation.Ordinalizers +{ + internal class DutchOrdinalizer : DefaultOrdinalizer + { + public override string Convert(int number, string numberString) + { + return Convert(number, numberString, GrammaticalGender.Masculine); + } + + public override string Convert(int number, string numberString, GrammaticalGender gender) + { + // N/A in Dutch + if (number == 0) + return "0"; + + return numberString + "e"; + } + } +} \ No newline at end of file