From 8e9a6ec4f736081300cbaf981748e0637dc2624c Mon Sep 17 00:00:00 2001 From: Damiaan Date: Sun, 24 May 2015 13:49:15 +0200 Subject: [PATCH 1/3] Add Dutch Ordinalizer --- .../Configuration/OrdinalizerRegistry.cs | 1 + src/Humanizer/Humanizer.csproj | 1 + .../Ordinalizers/DutchOrdinalizer.cs | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 src/Humanizer/Localisation/Ordinalizers/DutchOrdinalizer.cs 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 From a13dbb5149b78fecc2ce7c7e82df00a95be4f88f Mon Sep 17 00:00:00 2001 From: Damiaan Date: Mon, 25 May 2015 12:18:36 +0200 Subject: [PATCH 2/3] Added unittests --- src/Humanizer.Tests/Humanizer.Tests.csproj | 2 +- .../Localisation/nl/OrdinalizeTests.cs | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Humanizer.Tests/Localisation/nl/OrdinalizeTests.cs diff --git a/src/Humanizer.Tests/Humanizer.Tests.csproj b/src/Humanizer.Tests/Humanizer.Tests.csproj index a0493daa3..24fdc6bbf 100644 --- a/src/Humanizer.Tests/Humanizer.Tests.csproj +++ b/src/Humanizer.Tests/Humanizer.Tests.csproj @@ -108,7 +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 From 8d3f50776aafc790ab05dc00ae1bf00f2dea5508 Mon Sep 17 00:00:00 2001 From: Damiaan Date: Mon, 25 May 2015 12:23:15 +0200 Subject: [PATCH 3/3] Added pt-BR unittests again. (removed by accident) --- src/Humanizer.Tests/Humanizer.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Humanizer.Tests/Humanizer.Tests.csproj b/src/Humanizer.Tests/Humanizer.Tests.csproj index 24fdc6bbf..ed7a2d784 100644 --- a/src/Humanizer.Tests/Humanizer.Tests.csproj +++ b/src/Humanizer.Tests/Humanizer.Tests.csproj @@ -109,6 +109,7 @@ +