Skip to content

Commit 6e11b7b

Browse files
committed
add: PaymentTest.setAmountIssuedCcy
1 parent 11b2132 commit 6e11b7b

File tree

4 files changed

+47
-20
lines changed

4 files changed

+47
-20
lines changed

src/test/java/com/radynamics/CryptoIso20022Interop/cryptoledger/CurrencyRefresherTest.java

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.radynamics.CryptoIso20022Interop.exchange.Currency;
44
import com.radynamics.CryptoIso20022Interop.exchange.Money;
55
import com.radynamics.CryptoIso20022Interop.iso20022.Payment;
6+
import com.radynamics.CryptoIso20022Interop.iso20022.TestUtils;
67
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.Assertion;
78
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.TestLedger;
89
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.TestTransaction;
@@ -42,10 +43,10 @@ public void refreshWalletsNull(String senderWallet, String receiverWallet) {
4243
@ParameterizedTest
4344
@ValueSource(strings = {"AAA", "BBB", "CCC"})
4445
public void refreshNoCommonTrustlines(@NotNull String userCcyCode) {
45-
var ccyAAA = createIssuedCcy("AAA");
46-
var ccyBBB = createIssuedCcy("BBB");
47-
var ccyCCC1 = createIssuedCcy("CCC", "CCC_issuer1");
48-
var ccyCCC2 = createIssuedCcy("CCC", "CCC_issuer2");
46+
var ccyAAA = TestUtils.createIssuedCcy(ledger, "AAA");
47+
var ccyBBB = TestUtils.createIssuedCcy(ledger, "BBB");
48+
var ccyCCC1 = TestUtils.createIssuedCcy(ledger, "CCC", "CCC_issuer1");
49+
var ccyCCC2 = TestUtils.createIssuedCcy(ledger, "CCC", "CCC_issuer2");
4950

5051
var senderWallet = ledger.createWallet("aaa", "");
5152
senderWallet.getBalances().set(Money.of(80.0, ccyAAA));
@@ -71,19 +72,11 @@ public void refreshNoCommonTrustlines(@NotNull String userCcyCode) {
7172
Assertion.assertEquals(Money.of(0, new Currency("TEST")), p.getAmountTransaction());
7273
}
7374

74-
private Currency createIssuedCcy(String ccyCode) {
75-
return createIssuedCcy(ccyCode, ccyCode + "_issuer");
76-
}
77-
78-
private Currency createIssuedCcy(String ccyCode, String issuer) {
79-
return new Currency(ccyCode, ledger.createWallet(issuer, ""));
80-
}
81-
8275
@Test
8376
public void refreshCommonTrustlines() {
84-
var ccyAAA = createIssuedCcy("AAA");
85-
var ccyBBB = createIssuedCcy("BBB");
86-
var ccyCCC = createIssuedCcy("CCC");
77+
var ccyAAA = TestUtils.createIssuedCcy(ledger, "AAA");
78+
var ccyBBB = TestUtils.createIssuedCcy(ledger, "BBB");
79+
var ccyCCC = TestUtils.createIssuedCcy(ledger, "CCC");
8780

8881
var senderWallet = ledger.createWallet("aaa", "");
8982
senderWallet.getBalances().set(Money.of(80.0, ccyAAA));
@@ -107,11 +100,11 @@ public void refreshCommonTrustlines() {
107100

108101
@Test
109102
public void refreshCommonTrustlinesTransferFee() {
110-
var ccyAAA = createIssuedCcy("AAA");
111-
var ccyBBB = createIssuedCcy("BBB");
112-
var ccyCCC1 = createIssuedCcy("CCC", "CCC_issuer1");
103+
var ccyAAA = TestUtils.createIssuedCcy(ledger, "AAA");
104+
var ccyBBB = TestUtils.createIssuedCcy(ledger, "BBB");
105+
var ccyCCC1 = TestUtils.createIssuedCcy(ledger, "CCC", "CCC_issuer1");
113106
ccyCCC1.setTransferFee(3);
114-
var ccyCCC2 = createIssuedCcy("CCC", "CCC_issuer2");
107+
var ccyCCC2 = TestUtils.createIssuedCcy(ledger, "CCC", "CCC_issuer2");
115108
ccyCCC2.setTransferFee(2);
116109

117110
var senderWallet = ledger.createWallet("aaa", "");

src/test/java/com/radynamics/CryptoIso20022Interop/iso20022/PaymentTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.radynamics.CryptoIso20022Interop.exchange.CurrencyPair;
55
import com.radynamics.CryptoIso20022Interop.exchange.ExchangeRate;
66
import com.radynamics.CryptoIso20022Interop.exchange.Money;
7+
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.Assertion;
78
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.TestLedger;
89
import com.radynamics.CryptoIso20022Interop.iso20022.pain001.TestTransaction;
910
import org.jetbrains.annotations.NotNull;
@@ -69,6 +70,21 @@ public void setAmount() {
6970
Assertions.assertEquals("TEST", p.getAmountTransaction().getCcy().getCode());
7071
}
7172

73+
@Test
74+
public void setAmountIssuedCcy() {
75+
var ledger = new TestLedger();
76+
var ccyAAA = TestUtils.createIssuedCcy(ledger, "AAA");
77+
var p = new Payment(new TestTransaction(ledger, Money.of(10, ccyAAA)));
78+
p.setExchangeRate(null);
79+
p.setAmount(Money.of(10, ccyAAA));
80+
81+
Assertions.assertEquals(10, p.getAmount());
82+
Assertions.assertEquals("AAA", p.getUserCcyCodeOrEmpty());
83+
Assertion.assertEquals(Money.of(10.0, ccyAAA), p.getAmountTransaction());
84+
Assertions.assertNull(p.getExchangeRate());
85+
Assertions.assertFalse(p.isAmountUnknown());
86+
}
87+
7288
@Test
7389
public void setAmountNoExchangeRate() {
7490
var p = new Payment(new TestTransaction(new TestLedger(), 10.0, "TEST"));
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.radynamics.CryptoIso20022Interop.iso20022;
2+
3+
import com.radynamics.CryptoIso20022Interop.cryptoledger.Ledger;
4+
import com.radynamics.CryptoIso20022Interop.exchange.Currency;
5+
6+
public final class TestUtils {
7+
public static Currency createIssuedCcy(Ledger ledger, String ccyCode) {
8+
return createIssuedCcy(ledger, ccyCode, ccyCode + "_issuer");
9+
}
10+
11+
public static Currency createIssuedCcy(Ledger ledger, String ccyCode, String issuer) {
12+
return new Currency(ccyCode, ledger.createWallet(issuer, ""));
13+
}
14+
}

src/test/java/com/radynamics/CryptoIso20022Interop/iso20022/pain001/TestTransaction.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,13 @@ public class TestTransaction implements com.radynamics.CryptoIso20022Interop.cry
2323
private Money fee;
2424

2525
public TestTransaction(Ledger ledger, Double amt, String ccy) {
26+
this(ledger, Money.of(amt, new Currency(ccy)));
27+
}
28+
29+
public TestTransaction(Ledger ledger, Money amt) {
2630
if (amt == null) throw new IllegalArgumentException("Parameter 'amt' cannot be null");
2731
this.ledger = ledger;
28-
this.amt = Money.of(amt, new Currency(ccy));
32+
this.amt = amt;
2933
this.fee = TestLedger.convertToNativeCcyAmount(10);
3034
}
3135

0 commit comments

Comments
 (0)