19TEST(LoanBrokerTests, BuilderSettersRoundTrip)
43 previousTxnLgrSeqValue,
65 EXPECT_TRUE(builder.validate());
67 auto const entry = builder.build(index);
69 EXPECT_TRUE(entry.validate());
72 auto const& expected = previousTxnIDValue;
73 auto const actual = entry.getPreviousTxnID();
78 auto const& expected = previousTxnLgrSeqValue;
79 auto const actual = entry.getPreviousTxnLgrSeq();
84 auto const& expected = sequenceValue;
85 auto const actual = entry.getSequence();
90 auto const& expected = ownerNodeValue;
91 auto const actual = entry.getOwnerNode();
96 auto const& expected = vaultNodeValue;
97 auto const actual = entry.getVaultNode();
102 auto const& expected = vaultIDValue;
103 auto const actual = entry.getVaultID();
108 auto const& expected = accountValue;
109 auto const actual = entry.getAccount();
114 auto const& expected = ownerValue;
115 auto const actual = entry.getOwner();
120 auto const& expected = loanSequenceValue;
121 auto const actual = entry.getLoanSequence();
126 auto const& expected = dataValue;
127 auto const actualOpt = entry.getData();
128 ASSERT_TRUE(actualOpt.has_value());
130 EXPECT_TRUE(entry.hasData());
134 auto const& expected = managementFeeRateValue;
135 auto const actualOpt = entry.getManagementFeeRate();
136 ASSERT_TRUE(actualOpt.has_value());
138 EXPECT_TRUE(entry.hasManagementFeeRate());
142 auto const& expected = ownerCountValue;
143 auto const actualOpt = entry.getOwnerCount();
144 ASSERT_TRUE(actualOpt.has_value());
146 EXPECT_TRUE(entry.hasOwnerCount());
150 auto const& expected = debtTotalValue;
151 auto const actualOpt = entry.getDebtTotal();
152 ASSERT_TRUE(actualOpt.has_value());
154 EXPECT_TRUE(entry.hasDebtTotal());
158 auto const& expected = debtMaximumValue;
159 auto const actualOpt = entry.getDebtMaximum();
160 ASSERT_TRUE(actualOpt.has_value());
162 EXPECT_TRUE(entry.hasDebtMaximum());
166 auto const& expected = coverAvailableValue;
167 auto const actualOpt = entry.getCoverAvailable();
168 ASSERT_TRUE(actualOpt.has_value());
170 EXPECT_TRUE(entry.hasCoverAvailable());
174 auto const& expected = coverRateMinimumValue;
175 auto const actualOpt = entry.getCoverRateMinimum();
176 ASSERT_TRUE(actualOpt.has_value());
178 EXPECT_TRUE(entry.hasCoverRateMinimum());
182 auto const& expected = coverRateLiquidationValue;
183 auto const actualOpt = entry.getCoverRateLiquidation();
184 ASSERT_TRUE(actualOpt.has_value());
186 EXPECT_TRUE(entry.hasCoverRateLiquidation());
189 EXPECT_TRUE(entry.hasLedgerIndex());
190 auto const ledgerIndex = entry.getLedgerIndex();
191 ASSERT_TRUE(ledgerIndex.has_value());
192 EXPECT_EQ(*ledgerIndex, index);
193 EXPECT_EQ(entry.getKey(), index);
198TEST(LoanBrokerTests, BuilderFromSleRoundTrip)
222 sle->at(sfPreviousTxnID) = previousTxnIDValue;
223 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
224 sle->at(sfSequence) = sequenceValue;
225 sle->at(sfOwnerNode) = ownerNodeValue;
226 sle->at(sfVaultNode) = vaultNodeValue;
227 sle->at(sfVaultID) = vaultIDValue;
228 sle->at(sfAccount) = accountValue;
229 sle->at(sfOwner) = ownerValue;
230 sle->at(sfLoanSequence) = loanSequenceValue;
231 sle->at(sfData) = dataValue;
232 sle->at(sfManagementFeeRate) = managementFeeRateValue;
233 sle->at(sfOwnerCount) = ownerCountValue;
234 sle->at(sfDebtTotal) = debtTotalValue;
235 sle->at(sfDebtMaximum) = debtMaximumValue;
236 sle->at(sfCoverAvailable) = coverAvailableValue;
237 sle->at(sfCoverRateMinimum) = coverRateMinimumValue;
238 sle->at(sfCoverRateLiquidation) = coverRateLiquidationValue;
241 EXPECT_TRUE(builderFromSle.validate());
243 auto const entryFromBuilder = builderFromSle.build(index);
246 EXPECT_TRUE(entryFromBuilder.validate());
247 EXPECT_TRUE(entryFromSle.validate());
250 auto const& expected = previousTxnIDValue;
252 auto const fromSle = entryFromSle.getPreviousTxnID();
253 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
260 auto const& expected = previousTxnLgrSeqValue;
262 auto const fromSle = entryFromSle.getPreviousTxnLgrSeq();
263 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
270 auto const& expected = sequenceValue;
272 auto const fromSle = entryFromSle.getSequence();
273 auto const fromBuilder = entryFromBuilder.getSequence();
280 auto const& expected = ownerNodeValue;
282 auto const fromSle = entryFromSle.getOwnerNode();
283 auto const fromBuilder = entryFromBuilder.getOwnerNode();
290 auto const& expected = vaultNodeValue;
292 auto const fromSle = entryFromSle.getVaultNode();
293 auto const fromBuilder = entryFromBuilder.getVaultNode();
300 auto const& expected = vaultIDValue;
302 auto const fromSle = entryFromSle.getVaultID();
303 auto const fromBuilder = entryFromBuilder.getVaultID();
310 auto const& expected = accountValue;
312 auto const fromSle = entryFromSle.getAccount();
313 auto const fromBuilder = entryFromBuilder.getAccount();
320 auto const& expected = ownerValue;
322 auto const fromSle = entryFromSle.getOwner();
323 auto const fromBuilder = entryFromBuilder.getOwner();
330 auto const& expected = loanSequenceValue;
332 auto const fromSle = entryFromSle.getLoanSequence();
333 auto const fromBuilder = entryFromBuilder.getLoanSequence();
340 auto const& expected = dataValue;
342 auto const fromSleOpt = entryFromSle.getData();
343 auto const fromBuilderOpt = entryFromBuilder.getData();
345 ASSERT_TRUE(fromSleOpt.has_value());
346 ASSERT_TRUE(fromBuilderOpt.has_value());
353 auto const& expected = managementFeeRateValue;
355 auto const fromSleOpt = entryFromSle.getManagementFeeRate();
356 auto const fromBuilderOpt = entryFromBuilder.getManagementFeeRate();
358 ASSERT_TRUE(fromSleOpt.has_value());
359 ASSERT_TRUE(fromBuilderOpt.has_value());
366 auto const& expected = ownerCountValue;
368 auto const fromSleOpt = entryFromSle.getOwnerCount();
369 auto const fromBuilderOpt = entryFromBuilder.getOwnerCount();
371 ASSERT_TRUE(fromSleOpt.has_value());
372 ASSERT_TRUE(fromBuilderOpt.has_value());
379 auto const& expected = debtTotalValue;
381 auto const fromSleOpt = entryFromSle.getDebtTotal();
382 auto const fromBuilderOpt = entryFromBuilder.getDebtTotal();
384 ASSERT_TRUE(fromSleOpt.has_value());
385 ASSERT_TRUE(fromBuilderOpt.has_value());
392 auto const& expected = debtMaximumValue;
394 auto const fromSleOpt = entryFromSle.getDebtMaximum();
395 auto const fromBuilderOpt = entryFromBuilder.getDebtMaximum();
397 ASSERT_TRUE(fromSleOpt.has_value());
398 ASSERT_TRUE(fromBuilderOpt.has_value());
405 auto const& expected = coverAvailableValue;
407 auto const fromSleOpt = entryFromSle.getCoverAvailable();
408 auto const fromBuilderOpt = entryFromBuilder.getCoverAvailable();
410 ASSERT_TRUE(fromSleOpt.has_value());
411 ASSERT_TRUE(fromBuilderOpt.has_value());
418 auto const& expected = coverRateMinimumValue;
420 auto const fromSleOpt = entryFromSle.getCoverRateMinimum();
421 auto const fromBuilderOpt = entryFromBuilder.getCoverRateMinimum();
423 ASSERT_TRUE(fromSleOpt.has_value());
424 ASSERT_TRUE(fromBuilderOpt.has_value());
431 auto const& expected = coverRateLiquidationValue;
433 auto const fromSleOpt = entryFromSle.getCoverRateLiquidation();
434 auto const fromBuilderOpt = entryFromBuilder.getCoverRateLiquidation();
436 ASSERT_TRUE(fromSleOpt.has_value());
437 ASSERT_TRUE(fromBuilderOpt.has_value());
443 EXPECT_EQ(entryFromSle.getKey(), index);
444 EXPECT_EQ(entryFromBuilder.getKey(), index);
484TEST(LoanBrokerTests, OptionalFieldsReturnNullopt)
500 previousTxnLgrSeqValue,
510 auto const entry = builder.build(index);
513 EXPECT_FALSE(entry.hasData());
514 EXPECT_FALSE(entry.getData().has_value());
515 EXPECT_FALSE(entry.hasManagementFeeRate());
516 EXPECT_FALSE(entry.getManagementFeeRate().has_value());
517 EXPECT_FALSE(entry.hasOwnerCount());
518 EXPECT_FALSE(entry.getOwnerCount().has_value());
519 EXPECT_FALSE(entry.hasDebtTotal());
520 EXPECT_FALSE(entry.getDebtTotal().has_value());
521 EXPECT_FALSE(entry.hasDebtMaximum());
522 EXPECT_FALSE(entry.getDebtMaximum().has_value());
523 EXPECT_FALSE(entry.hasCoverAvailable());
524 EXPECT_FALSE(entry.getCoverAvailable().has_value());
525 EXPECT_FALSE(entry.hasCoverRateMinimum());
526 EXPECT_FALSE(entry.getCoverRateMinimum().has_value());
527 EXPECT_FALSE(entry.hasCoverRateLiquidation());
528 EXPECT_FALSE(entry.getCoverRateLiquidation().has_value());