From 94368fcfdda60b3cb9df422d9e637112237f4240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20S=CC=8Cavara?= Date: Wed, 18 Dec 2019 15:31:49 +0100 Subject: [PATCH] Revert "Fixed Dutch postal code validation. (#74)" This reverts commit a46a9d7a8fccd4f1213051730be1bdb11cb65eab. --- .../NLPostalCodeManualTests.cs | 10 ++++++++++ .../Generated/NLPostalCodeTests.gen.cs | 10 +++++----- .../PostalCodeFactoryTests.cs | 4 ++-- src/PostalCodes/Generated/NLPostalCode.gen.cs | 5 +++-- src/countries/NL.json | 19 +++++++++++++------ 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/PostalCodes.UnitTests/CountrySpecificPostalCodes/NLPostalCodeManualTests.cs b/src/PostalCodes.UnitTests/CountrySpecificPostalCodes/NLPostalCodeManualTests.cs index 79b1fd3..06284c1 100644 --- a/src/PostalCodes.UnitTests/CountrySpecificPostalCodes/NLPostalCodeManualTests.cs +++ b/src/PostalCodes.UnitTests/CountrySpecificPostalCodes/NLPostalCodeManualTests.cs @@ -8,6 +8,8 @@ internal class NLPostalCodeManualTests [Test] [TestCase("9992 ZZ", "9992ZY")] [TestCase("9992", "9991")] + [TestCase("1000", "0999")] + [TestCase("1000 AA", "0999ZZ")] [TestCase("4000 ZZ", "4000ZY")] [TestCase("4000", "3999")] [TestCase("1422", "1421")] @@ -31,6 +33,14 @@ public void Successor_ValidInput_ReturnsCorrectPostalCode(string postalCode, str Assert.AreEqual(postalCodeSuccessor, (new NLPostalCode(postalCode)).Successor.ToString()); } + [Test] + [TestCase("0000 AA")] + [TestCase("0000")] + public void Predecessor_FirstInRange_ReturnsNull(string postalCode) + { + Assert.IsNull((new NLPostalCode(postalCode)).Predecessor); + } + [Test] [TestCase("9999 ZZ")] [TestCase("9999")] diff --git a/src/PostalCodes.UnitTests/Generated/NLPostalCodeTests.gen.cs b/src/PostalCodes.UnitTests/Generated/NLPostalCodeTests.gen.cs index 7ac0875..009e351 100644 --- a/src/PostalCodes.UnitTests/Generated/NLPostalCodeTests.gen.cs +++ b/src/PostalCodes.UnitTests/Generated/NLPostalCodeTests.gen.cs @@ -8,7 +8,9 @@ internal class NLPostalCodeTests { [TestCase("9999","9998")] + [TestCase("1000","0999")] [TestCase("9999ZZ","9999ZY")] + [TestCase("1000AA","0999ZZ")] public void Predecessor_ValidInput_ReturnsCorrectPostalCode(string postalCode, string postalCodePredecessor) { var code = new NLPostalCode(postalCode); @@ -18,7 +20,9 @@ public void Predecessor_ValidInput_ReturnsCorrectPostalCode(string postalCode, s Assert.AreEqual(codePredecessor.ToHumanReadableString(), code.Predecessor.ToHumanReadableString()); } + [TestCase("0999","1000")] [TestCase("3456","3457")] + [TestCase("0999ZZ","1000AA")] [TestCase("3456JT","3456JU")] public void Successor_ValidInput_ReturnsCorrectPostalCode(string postalCode, string postalCodeSuccessor) { @@ -29,6 +33,7 @@ public void Successor_ValidInput_ReturnsCorrectPostalCode(string postalCode, str Assert.AreEqual(codeSuccessor.ToHumanReadableString(), code.Successor.ToHumanReadableString()); } + [TestCase("0000AA")] public void Predecessor_FirstInRange_ReturnsNull(string postalCode) { Assert.IsNull((new NLPostalCode(postalCode)).Predecessor); @@ -42,11 +47,6 @@ public void Successor_LastInRange_ReturnsNull(string postalCode) [TestCase("12j4h")] [TestCase("k3j51l")] - [TestCase("0000AA")] - [TestCase("0000")] - [TestCase("1234SA")] - [TestCase("1234SD")] - [TestCase("1234SS")] public void InvalidCode_ThrowsArgumentException(string postalCode) { Assert.Throws(() => new NLPostalCode(postalCode)); diff --git a/src/PostalCodes.UnitTests/PostalCodeFactoryTests.cs b/src/PostalCodes.UnitTests/PostalCodeFactoryTests.cs index e8f6353..fead077 100644 --- a/src/PostalCodes.UnitTests/PostalCodeFactoryTests.cs +++ b/src/PostalCodes.UnitTests/PostalCodeFactoryTests.cs @@ -11,8 +11,8 @@ internal class PostalCodeFactoryTests [TestCase("GB", "A1 9ZZ", "A19ZZ", "GBPostalCode")] // long [TestCase("PT", "0042", "0042", "PTPostalCode")] [TestCase("CA", "A9A9A9", "A9A9A9", "CAPostalCode")] - [TestCase("NL", "1024", "1024", "NLPostalCode")] // short NL - [TestCase("NL", "1024 ZZ", "1024ZZ", "NLPostalCode")] // long NL + [TestCase("NL", "0024", "0024", "NLPostalCode")] // short NL + [TestCase("NL", "0024 ZZ", "0024ZZ", "NLPostalCode")] // long NL [TestCase("MT", "PLA1234", "PLA1234", "MTPostalCode")] [TestCase("??", "004", "004", "DefaultPostalCode")] public void CreatePostalCode_ReturnsCorrectObjectType(string country, string postalCode, string normalizedPostalCode, string objectTypeName) diff --git a/src/PostalCodes/Generated/NLPostalCode.gen.cs b/src/PostalCodes/Generated/NLPostalCode.gen.cs index ebec8d1..bca3de9 100644 --- a/src/PostalCodes/Generated/NLPostalCode.gen.cs +++ b/src/PostalCodes/Generated/NLPostalCode.gen.cs @@ -36,13 +36,14 @@ public override int GetHashCode () private static PostalCodeFormat[] _formats = { new PostalCodeFormat { Name = "NL : 9999 ZZ", - RegexDefault = new Regex("^[1-9][0-9]{3}(?!SA|SD|SS)[A-Z]{2}$", RegexOptions.Compiled), - RegexShort = new Regex("^[1-9][0-9]{3}$", RegexOptions.Compiled), + RegexDefault = new Regex("^[0-9]{4}[A-Z]{2}$", RegexOptions.Compiled), + RegexShort = new Regex("^[0-9]{4}$", RegexOptions.Compiled), OutputDefault = "xxxx xx", OutputShort = "xxxx", AutoConvertToShort = false, ShortExpansionAsLowestInRange = "AA", ShortExpansionAsHighestInRange = "ZZ", + LeftPaddingCharacter = "0", } }; } diff --git a/src/countries/NL.json b/src/countries/NL.json index 4fdb1af..ef1bd15 100644 --- a/src/countries/NL.json +++ b/src/countries/NL.json @@ -7,10 +7,13 @@ "Formats" : [ { "Name" : "NL : 9999 ZZ", - "RegexDefault" : "^[1-9][0-9]{3}(?!SA|SD|SS)[A-Z]{2}$", - "RegexShort" : "^[1-9][0-9]{3}$", + "RegexDefault" : "^[0-9]{4}[A-Z]{2}$", + "RegexShort" : "^[0-9]{4}$", "OutputDefault" : "xxxx xx", "OutputShort" : "xxxx", + + "LeftPaddingCharacter" : "0", + "AutoConvertToShort" : "false", "ShortExpansionAsLowestInRange" : "AA", "ShortExpansionAsHighestInRange" : "ZZ" @@ -19,15 +22,19 @@ "TestData" : { "Max" : [ "9999ZZ" ], - "Min" : [ ], - "Valid" : [ "1235DF", "5983DH" ], - "Invalid": [ "12j4h", "k3j51l", "0000AA", "0000", "1234SA", "1234SD", "1234SS" ], + "Min" : [ "0000AA" ], + "Valid" : ["1235DF", "5983DH"], + "Invalid" : [ "12j4h", "k3j51l" ], "Predecessor" : { "9999" : "9998", - "9999ZZ": "9999ZY" + "1000" : "0999", + "9999ZZ": "9999ZY", + "1000AA": "0999ZZ" }, "Successor" : { + "0999" : "1000", "3456" : "3457", + "0999ZZ": "1000AA", "3456JT": "3456JU" }, "IsBefore" : {