From 9a565964a54cf513227b2dcf4237e6a9cf2fab4a Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Wed, 20 Sep 2017 09:26:00 +0200 Subject: [PATCH 1/6] Add capability to generate Dutch BBAN numbers --- Source/Generators/Bank.swift | 7 +++++++ Tests/Fakery/Generators/BankSpec.swift | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Source/Generators/Bank.swift b/Source/Generators/Bank.swift index af26854..329d227 100644 --- a/Source/Generators/Bank.swift +++ b/Source/Generators/Bank.swift @@ -18,4 +18,11 @@ public final class Bank: Generator { return bankCountryCode + bankCountryString + ibanLetterCode + iban } + + public func bban() -> String { + let ibanLetterCode: String = letterify(generate("bank.ibanDetails.ibanLetterCode")) + let iban: String = numerify(generate("bank.ibanDetails.ibanDigits")) + + return ibanLetterCode + iban + } } diff --git a/Tests/Fakery/Generators/BankSpec.swift b/Tests/Fakery/Generators/BankSpec.swift index b8debaa..fabdd96 100644 --- a/Tests/Fakery/Generators/BankSpec.swift +++ b/Tests/Fakery/Generators/BankSpec.swift @@ -30,7 +30,14 @@ class BankSpec: QuickSpec { describe("#iban") { it("returns a valid IBAN") { let iban = bank.iban() - expect(iban).to(match("[A-Z]{4}\\d{10}")) + expect(iban).to(match("[A-Z]{2}\\d{2}[A-Z]{4}\\d{10}")) + } + } + + describe("#bban") { + it("returns a valid BBAN") { + let bban = bank.bban() + expect(bban).to(match("[A-Z]{4}\\d{10}")) } } } From 68c7905f0361c836a979ff8ea6891c98f7de67d4 Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Thu, 21 Sep 2017 09:01:46 +0200 Subject: [PATCH 2/6] Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7ce723..32bcdc2 100755 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ faker.team.state() // => "Alabama" faker.bank.name() //=> "ABN AMRO CORPORATE FINANCE LIMITED" faker.bank.swiftBic() //=> "AAFMGB21" faker.bank.iban() // => "NL45BUNQ2209931378" +faker.bank.bban() //=> ABNA0136468471 ``` ## Installation From 57cbf4b5a275a7859227d7fee6118d1ec618c3ad Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Wed, 20 Sep 2017 09:26:00 +0200 Subject: [PATCH 3/6] Add capability to generate Dutch BBAN numbers --- Tests/Fakery/Generators/BankSpec.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tests/Fakery/Generators/BankSpec.swift b/Tests/Fakery/Generators/BankSpec.swift index 1077187..fabdd96 100644 --- a/Tests/Fakery/Generators/BankSpec.swift +++ b/Tests/Fakery/Generators/BankSpec.swift @@ -33,6 +33,13 @@ class BankSpec: QuickSpec { expect(iban).to(match("[A-Z]{2}\\d{2}[A-Z]{4}\\d{10}")) } } + + describe("#bban") { + it("returns a valid BBAN") { + let bban = bank.bban() + expect(bban).to(match("[A-Z]{4}\\d{10}")) + } + } } } } From 284a747876986ce0db34a868dd7a17de0da1bee3 Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Thu, 21 Sep 2017 09:01:46 +0200 Subject: [PATCH 4/6] Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7ce723..32bcdc2 100755 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ faker.team.state() // => "Alabama" faker.bank.name() //=> "ABN AMRO CORPORATE FINANCE LIMITED" faker.bank.swiftBic() //=> "AAFMGB21" faker.bank.iban() // => "NL45BUNQ2209931378" +faker.bank.bban() //=> ABNA0136468471 ``` ## Installation From 74362b4d1894feb74b7e04ad4d12240f46216c0d Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Thu, 21 Sep 2017 22:37:02 +0200 Subject: [PATCH 5/6] Revert swift 4 syntax --- Source/Data/Parser.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Data/Parser.swift b/Source/Data/Parser.swift index 980434a..4237176 100644 --- a/Source/Data/Parser.swift +++ b/Source/Data/Parser.swift @@ -88,10 +88,10 @@ public final class Parser { continue } - let prefixRange = match.range(at: 1) - let subjectRange = match.range(at: 2) - let methodRange = match.range(at: 3) - let otherRange = match.range(at: 4) + let prefixRange = match.rangeAt(1) + let subjectRange = match.rangeAt(2) + let methodRange = match.rangeAt(3) + let otherRange = match.rangeAt(4) if prefixRange.length > 0 { text += string.substring(with: prefixRange) From f691685d3cf247f694bbf2efc57969040f81ae80 Mon Sep 17 00:00:00 2001 From: Dunya Kirkali Date: Mon, 2 Oct 2017 15:20:28 +0200 Subject: [PATCH 6/6] Revert "Revert swift 4 syntax" This reverts commit 74362b4d1894feb74b7e04ad4d12240f46216c0d. --- Source/Data/Parser.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Data/Parser.swift b/Source/Data/Parser.swift index d0f901c..bf48231 100644 --- a/Source/Data/Parser.swift +++ b/Source/Data/Parser.swift @@ -87,10 +87,10 @@ public final class Parser { continue } - let prefixRange = match.rangeAt(1) - let subjectRange = match.rangeAt(2) - let methodRange = match.rangeAt(3) - let otherRange = match.rangeAt(4) + let prefixRange = match.range(at: 1) + let subjectRange = match.range(at: 2) + let methodRange = match.range(at: 3) + let otherRange = match.range(at: 4) if prefixRange.length > 0 { text += string.substring(with: prefixRange)