@@ -350,8 +350,14 @@ class Loan_test : public beast::unit_test::suite
350350 env.balance (account, broker.asset ) -
351351 (balanceBefore - balanceChangeAmount),
352352 borrowerScale);
353- env.test .BEAST_EXPECT (
354- roundToScale (difference, loanScale) >= beast::zero);
353+ env.test .expect (
354+ roundToScale (difference, loanScale) >= beast::zero,
355+ " Balance before: " + to_string (balanceBefore.value ()) +
356+ " , expected change: " + to_string (balanceChangeAmount) +
357+ " , difference (balance after - expected): " +
358+ to_string (difference),
359+ __FILE__,
360+ __LINE__);
355361 }
356362 }
357363
@@ -2451,22 +2457,34 @@ class Loan_test : public beast::unit_test::suite
24512457 getCurrentState (env, broker, loanKeylet, verifyLoanStatus);
24522458 env.close ();
24532459
2460+ BEAST_EXPECT (
2461+ STAmount (broker.asset , state.periodicPayment ) ==
2462+ broker.asset (Number (8333457002039338267 , -17 )));
2463+
24542464 // Make all the payments in one transaction
24552465 // service fee is 2
24562466 auto const startingPayments = state.paymentRemaining ;
24572467 STAmount const payoffAmount = [&]() {
2458- NumberRoundModeGuard mg (Number::upward);
2468+ // NumberRoundModeGuard mg(Number::upward);
24592469 auto const rawPayoff = startingPayments *
24602470 (state.periodicPayment + broker.asset (2 ).value ());
24612471 STAmount const payoffAmount{broker.asset , rawPayoff};
24622472 BEAST_EXPECTS (
24632473 payoffAmount ==
2464- broker.asset (Number (1024014840139457 , -12 )),
2474+ broker.asset (Number (1024014840244721 , -12 )),
24652475 to_string (payoffAmount));
24662476 BEAST_EXPECT (payoffAmount > state.principalOutstanding );
24672477 return payoffAmount;
24682478 }();
24692479
2480+ auto const totalPayoffValue = state.totalValue +
2481+ startingPayments * broker.asset (2 ).value ();
2482+ STAmount const totalPayoffAmount{
2483+ broker.asset , totalPayoffValue};
2484+
2485+ log << " Payoff amount: " << payoffAmount
2486+ << " . Total Value: " << totalPayoffAmount << std::endl;
2487+
24702488 singlePayment (
24712489 loanKeylet,
24722490 verifyLoanStatus,
@@ -2653,7 +2671,7 @@ class Loan_test : public beast::unit_test::suite
26532671 roundedPeriodicPayment ==
26542672 roundToScale (
26552673 broker.asset (
2656- Number (8333457001162141 , -14 ), Number::upward),
2674+ Number (8333457002039338267 , -17 ), Number::upward),
26572675 state.loanScale ,
26582676 Number::upward));
26592677 // 83334570.01162141
@@ -2668,7 +2686,7 @@ class Loan_test : public beast::unit_test::suite
26682686 totalDue ==
26692687 roundToScale (
26702688 broker.asset (
2671- Number (8533457001162141 , -14 ), Number::upward),
2689+ Number (8533457002039338267 , -17 ), Number::upward),
26722690 state.loanScale ,
26732691 Number::upward));
26742692
@@ -2704,7 +2722,7 @@ class Loan_test : public beast::unit_test::suite
27042722 transactionAmount ==
27052723 roundToScale (
27062724 broker.asset (
2707- Number (9533457001162141 , -14 ), Number::upward),
2725+ Number (9533457002039400 , -14 ), Number::upward),
27082726 state.loanScale ,
27092727 Number::upward));
27102728
@@ -2805,7 +2823,7 @@ class Loan_test : public beast::unit_test::suite
28052823 Number::upward) ==
28062824 roundToScale (
28072825 broker.asset (
2808- Number (8333228695260180 , -14 ),
2826+ Number (8333228691531218890 , -17 ),
28092827 Number::upward),
28102828 state.loanScale ,
28112829 Number::upward));
@@ -3643,7 +3661,7 @@ class Loan_test : public beast::unit_test::suite
36433661 env (pay (issuer, borrower, mptAsset (10'000 )));
36443662 env.close ();
36453663
3646- std::array const assets{xrpAsset, mptAsset, iouAsset };
3664+ std::array const assets{iouAsset, xrpAsset, mptAsset };
36473665
36483666 // Create vaults and loan brokers
36493667 std::vector<BrokerInfo> brokers;
0 commit comments