Skip to content

Commit 21de2fd

Browse files
committed
1 parent caa8425 commit 21de2fd

File tree

5 files changed

+102
-71
lines changed

5 files changed

+102
-71
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# Swift
22
.build
33
.swiftpm
4+
Package.resolved
45

6+
#eof

Package.resolved

-15
This file was deleted.

Sources/iban4j2JavApi/org/iban4j/bban/BbanStructure.swift

+43-29
Original file line numberDiff line numberDiff line change
@@ -297,35 +297,12 @@ extension org.iban4j.bban {
297297
structures[org.iban4j.CountryCode.LU()] =
298298
BbanStructure(
299299
BbanStructureEntry.bankCode(3, "n"), BbanStructureEntry.accountNumber(13, "c"))
300-
301-
structures[org.iban4j.CountryCode.MK()] =
302-
BbanStructure(
303-
BbanStructureEntry.bankCode(3, "n"),
304-
BbanStructureEntry.accountNumber(10, "c"),
305-
BbanStructureEntry.nationalCheckDigit(2, "n"))
306-
307-
structures[org.iban4j.CountryCode.MT()] =
308-
BbanStructure(
309-
BbanStructureEntry.bankCode(4, "a"),
310-
BbanStructureEntry.branchCode(5, "n"),
311-
BbanStructureEntry.accountNumber(18, "c"))
312-
313-
structures[org.iban4j.CountryCode.MR()] =
314-
BbanStructure(
315-
BbanStructureEntry.bankCode(5, "n"),
316-
BbanStructureEntry.branchCode(5, "n"),
317-
BbanStructureEntry.accountNumber(11, "n"),
318-
BbanStructureEntry.nationalCheckDigit(2, "n"))
319-
320-
structures[org.iban4j.CountryCode.MU()] =
321-
BbanStructure(
322-
BbanStructureEntry.bankCode(6, "c"),
323-
BbanStructureEntry.branchCode(2, "n"),
324-
BbanStructureEntry.accountNumber(18, "c"))
325-
326-
structures[org.iban4j.CountryCode.MD()] =
327-
BbanStructure(
328-
BbanStructureEntry.bankCode(2, "c"), BbanStructureEntry.accountNumber(18, "c"))
300+
301+
structures[org.iban4j.CountryCode.MA()] =
302+
BbanStructure(
303+
BbanStructureEntry.bankCode(3, "n"),
304+
BbanStructureEntry.branchCode(5, "n"),
305+
BbanStructureEntry.accountNumber(16, "n"))
329306

330307
structures[org.iban4j.CountryCode.MC()] =
331308
BbanStructure(
@@ -334,12 +311,49 @@ extension org.iban4j.bban {
334311
BbanStructureEntry.accountNumber(11, "c"),
335312
BbanStructureEntry.nationalCheckDigit(2, "n"))
336313

314+
structures[org.iban4j.CountryCode.MD()] =
315+
BbanStructure(
316+
BbanStructureEntry.bankCode(2, "c"), BbanStructureEntry.accountNumber(18, "c"))
317+
337318
structures[org.iban4j.CountryCode.ME()] =
338319
BbanStructure(
339320
BbanStructureEntry.bankCode(3, "n"),
340321
BbanStructureEntry.accountNumber(13, "n"),
341322
BbanStructureEntry.nationalCheckDigit(2, "n"))
342323

324+
structures[org.iban4j.CountryCode.MK()] =
325+
BbanStructure(
326+
BbanStructureEntry.bankCode(3, "n"),
327+
BbanStructureEntry.accountNumber(10, "c"),
328+
BbanStructureEntry.nationalCheckDigit(2, "n"))
329+
330+
structures[org.iban4j.CountryCode.MR()] =
331+
BbanStructure(
332+
BbanStructureEntry.bankCode(5, "n"),
333+
BbanStructureEntry.branchCode(5, "n"),
334+
BbanStructureEntry.accountNumber(11, "n"),
335+
BbanStructureEntry.nationalCheckDigit(2, "n"))
336+
337+
structures[org.iban4j.CountryCode.MT()] =
338+
BbanStructure(
339+
BbanStructureEntry.bankCode(4, "a"),
340+
BbanStructureEntry.branchCode(5, "n"),
341+
BbanStructureEntry.accountNumber(18, "c"))
342+
343+
structures[org.iban4j.CountryCode.MU()] =
344+
BbanStructure(
345+
BbanStructureEntry.bankCode(6, "c"),
346+
BbanStructureEntry.branchCode(2, "n"),
347+
BbanStructureEntry.accountNumber(18, "c"))
348+
349+
structures[org.iban4j.CountryCode.MZ()] =
350+
BbanStructure(
351+
BbanStructureEntry.bankCode(4, "n"),
352+
BbanStructureEntry.branchCode(4, "n"),
353+
BbanStructureEntry.accountNumber(11, "n"),
354+
BbanStructureEntry.nationalCheckDigit(2, "n"))
355+
356+
343357
structures[org.iban4j.CountryCode.NL()] =
344358
BbanStructure(
345359
BbanStructureEntry.bankCode(4, "a"), BbanStructureEntry.accountNumber(10, "n"))

Tests/iban4j2JavApiTests/IbanTest.swift

+29-27
Original file line numberDiff line numberDiff line change
@@ -103,18 +103,40 @@ extension org.iban4j {
103103
)
104104
}
105105
}
106+
107+
private func assertIbanUtilRandomWithSeedEquals(_ expected : String, _ seed : Int) {
108+
let generated : Iban = try! Iban.random(java.util.Random(seed));
109+
XCTAssertEqual(expected, generated.toFormattedString(),
110+
"expect that creating an IBAN with seed '\(seed)' is deterministic"
111+
)
112+
}
113+
114+
public func testIbanConstructionSeeded() {
115+
assertIbanUtilRandomWithSeedEquals("FR46 1918 2083 691H JENI SJS3 364", 1)
116+
assertIbanUtilRandomWithSeedEquals("LC94 QKBB C1OY WHST MPQA 7GVB 4WBX VTP0", 2)
117+
assertIbanUtilRandomWithSeedEquals("DK23 0882 2804 1804 23", 3)
118+
}
119+
private static func assertIbanBuilderRandomWithSeedEquals(_ expected : String, _ seed : Int) {
120+
let generated : Iban = try! Builder(java.util.Random(seed)).buildRandom()
121+
let actual : String = generated.toFormattedString()
122+
XCTAssertEqual(expected, actual, "expect that creating an IBAN with seed '\(seed)' is deterministic")
123+
}
106124

125+
126+
public func testIbanBuilderConstructionSeeded() {
127+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("FR46 1918 2083 691H JENI SJS3 364", 1)
128+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("LC94 QKBB C1OY WHST MPQA 7GVB 4WBX VTP0", 2)
129+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("DK23 0882 2804 1804 23", 3)
130+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("BY38 LPL2 0836 1HJE NISJ S339 QZGT", 1)
131+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("IE70 QKBB 0988 8722 1186 81", 2)
132+
org.iban4j.assertIbanBuilderRandomWithSeedEquals("MC38 0882 8280 41ER G8WO UQNL Y52", 3)
133+
}
134+
135+
107136
/*
108137
@DisplayName("Iban general test")
109138
final class IbanTest {
110139

111-
private static void assertIbanBuilderRandomWithSeedEquals(final String expected, final int seed) {
112-
final Iban generated = new Iban.Builder(new Random(seed)).buildRandom();
113-
final String actual = generated.toFormattedString();
114-
assertEquals(
115-
expected, actual, "expect that creating an IBAN with seed '" + seed + "' is deterministic");
116-
}
117-
118140
@Test
119141
@DisplayName("IBANs With Same Data Should Be Equal")
120142
public void ibansWithSameDataShouldBeEqual() {
@@ -372,26 +394,6 @@ extension org.iban4j {
372394
}
373395
}
374396

375-
@Test
376-
public void ibanConstructionSeeded() {
377-
assertAll(
378-
() -> assertIbanUtilRandomWithSeedEquals("FR46 1918 2083 691H JENI SJS3 364", 1),
379-
() -> assertIbanUtilRandomWithSeedEquals("LC94 QKBB C1OY WHST MPQA 7GVB 4WBX VTP0", 2),
380-
() -> assertIbanUtilRandomWithSeedEquals("DK23 0882 2804 1804 23", 3));
381-
}
382-
383-
private void assertIbanUtilRandomWithSeedEquals(
384-
final String expected,
385-
final int seed
386-
) {
387-
final Iban generated = Iban.random(new Random(seed));
388-
assertEquals(
389-
expected,
390-
generated.toFormattedString(),
391-
"expect that creating an IBAN with seed '" + seed + "' is deterministic"
392-
);
393-
}
394-
395397
@Test
396398
public void ibanBuilderConstructionSeeded() {
397399
assertAll(

Tests/iban4j2JavApiTests/TestDataHelper.swift

+28
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,20 @@ extension org.iban4j {
637637
result.insert(elem, at: result.count)
638638
}
639639

640+
do {
641+
var elem : (Iban, String)
642+
elem.0 =
643+
try! Builder()
644+
.setCountryCode(CountryCode.MA())
645+
.setBankCode("011")
646+
.setBranchCode("51900")
647+
.setAccountNumber("0001205000534921")
648+
.build()
649+
elem.1 =
650+
"MA64011519000001205000534921"
651+
result.insert(elem, at: result.count)
652+
}
653+
640654
do {
641655
var elem : (Iban, String)
642656
elem.0 =
@@ -781,6 +795,20 @@ extension org.iban4j {
781795
result.insert(elem, at: result.count)
782796
}
783797

798+
do {
799+
var elem : (Iban, String)
800+
elem.0 = try! Builder()
801+
.setCountryCode(CountryCode.MZ())
802+
.setBankCode("0003")
803+
.setBranchCode("0108")
804+
.setAccountNumber("00163671023")
805+
.setNationalCheckDigit("71")
806+
.build()
807+
elem.1 =
808+
"MZ59000301080016367102371"
809+
result.insert(elem, at: result.count)
810+
}
811+
784812
do {
785813
var elem : (Iban, String)
786814
elem.0 =

0 commit comments

Comments
 (0)