19TEST(AccountRootTests, BuilderSettersRoundTrip)
53 previousTxnLgrSeqValue
77 EXPECT_TRUE(builder.validate());
79 auto const entry = builder.build(index);
81 EXPECT_TRUE(entry.validate());
84 auto const& expected = accountValue;
85 auto const actual = entry.getAccount();
90 auto const& expected = sequenceValue;
91 auto const actual = entry.getSequence();
96 auto const& expected = balanceValue;
97 auto const actual = entry.getBalance();
102 auto const& expected = ownerCountValue;
103 auto const actual = entry.getOwnerCount();
108 auto const& expected = previousTxnIDValue;
109 auto const actual = entry.getPreviousTxnID();
114 auto const& expected = previousTxnLgrSeqValue;
115 auto const actual = entry.getPreviousTxnLgrSeq();
120 auto const& expected = accountTxnIDValue;
121 auto const actualOpt = entry.getAccountTxnID();
122 ASSERT_TRUE(actualOpt.has_value());
124 EXPECT_TRUE(entry.hasAccountTxnID());
128 auto const& expected = regularKeyValue;
129 auto const actualOpt = entry.getRegularKey();
130 ASSERT_TRUE(actualOpt.has_value());
132 EXPECT_TRUE(entry.hasRegularKey());
136 auto const& expected = emailHashValue;
137 auto const actualOpt = entry.getEmailHash();
138 ASSERT_TRUE(actualOpt.has_value());
140 EXPECT_TRUE(entry.hasEmailHash());
144 auto const& expected = walletLocatorValue;
145 auto const actualOpt = entry.getWalletLocator();
146 ASSERT_TRUE(actualOpt.has_value());
148 EXPECT_TRUE(entry.hasWalletLocator());
152 auto const& expected = walletSizeValue;
153 auto const actualOpt = entry.getWalletSize();
154 ASSERT_TRUE(actualOpt.has_value());
156 EXPECT_TRUE(entry.hasWalletSize());
160 auto const& expected = messageKeyValue;
161 auto const actualOpt = entry.getMessageKey();
162 ASSERT_TRUE(actualOpt.has_value());
164 EXPECT_TRUE(entry.hasMessageKey());
168 auto const& expected = transferRateValue;
169 auto const actualOpt = entry.getTransferRate();
170 ASSERT_TRUE(actualOpt.has_value());
172 EXPECT_TRUE(entry.hasTransferRate());
176 auto const& expected = domainValue;
177 auto const actualOpt = entry.getDomain();
178 ASSERT_TRUE(actualOpt.has_value());
180 EXPECT_TRUE(entry.hasDomain());
184 auto const& expected = tickSizeValue;
185 auto const actualOpt = entry.getTickSize();
186 ASSERT_TRUE(actualOpt.has_value());
188 EXPECT_TRUE(entry.hasTickSize());
192 auto const& expected = ticketCountValue;
193 auto const actualOpt = entry.getTicketCount();
194 ASSERT_TRUE(actualOpt.has_value());
196 EXPECT_TRUE(entry.hasTicketCount());
200 auto const& expected = nFTokenMinterValue;
201 auto const actualOpt = entry.getNFTokenMinter();
202 ASSERT_TRUE(actualOpt.has_value());
204 EXPECT_TRUE(entry.hasNFTokenMinter());
208 auto const& expected = mintedNFTokensValue;
209 auto const actualOpt = entry.getMintedNFTokens();
210 ASSERT_TRUE(actualOpt.has_value());
212 EXPECT_TRUE(entry.hasMintedNFTokens());
216 auto const& expected = burnedNFTokensValue;
217 auto const actualOpt = entry.getBurnedNFTokens();
218 ASSERT_TRUE(actualOpt.has_value());
220 EXPECT_TRUE(entry.hasBurnedNFTokens());
224 auto const& expected = firstNFTokenSequenceValue;
225 auto const actualOpt = entry.getFirstNFTokenSequence();
226 ASSERT_TRUE(actualOpt.has_value());
228 EXPECT_TRUE(entry.hasFirstNFTokenSequence());
232 auto const& expected = aMMIDValue;
233 auto const actualOpt = entry.getAMMID();
234 ASSERT_TRUE(actualOpt.has_value());
236 EXPECT_TRUE(entry.hasAMMID());
240 auto const& expected = vaultIDValue;
241 auto const actualOpt = entry.getVaultID();
242 ASSERT_TRUE(actualOpt.has_value());
244 EXPECT_TRUE(entry.hasVaultID());
248 auto const& expected = loanBrokerIDValue;
249 auto const actualOpt = entry.getLoanBrokerID();
250 ASSERT_TRUE(actualOpt.has_value());
252 EXPECT_TRUE(entry.hasLoanBrokerID());
255 EXPECT_TRUE(entry.hasLedgerIndex());
256 auto const ledgerIndex = entry.getLedgerIndex();
257 ASSERT_TRUE(ledgerIndex.has_value());
258 EXPECT_EQ(*ledgerIndex, index);
259 EXPECT_EQ(entry.getKey(), index);
264TEST(AccountRootTests, BuilderFromSleRoundTrip)
294 sle->at(sfAccount) = accountValue;
295 sle->at(sfSequence) = sequenceValue;
296 sle->at(sfBalance) = balanceValue;
297 sle->at(sfOwnerCount) = ownerCountValue;
298 sle->at(sfPreviousTxnID) = previousTxnIDValue;
299 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
300 sle->at(sfAccountTxnID) = accountTxnIDValue;
301 sle->at(sfRegularKey) = regularKeyValue;
302 sle->at(sfEmailHash) = emailHashValue;
303 sle->at(sfWalletLocator) = walletLocatorValue;
304 sle->at(sfWalletSize) = walletSizeValue;
305 sle->at(sfMessageKey) = messageKeyValue;
306 sle->at(sfTransferRate) = transferRateValue;
307 sle->at(sfDomain) = domainValue;
308 sle->at(sfTickSize) = tickSizeValue;
309 sle->at(sfTicketCount) = ticketCountValue;
310 sle->at(sfNFTokenMinter) = nFTokenMinterValue;
311 sle->at(sfMintedNFTokens) = mintedNFTokensValue;
312 sle->at(sfBurnedNFTokens) = burnedNFTokensValue;
313 sle->at(sfFirstNFTokenSequence) = firstNFTokenSequenceValue;
314 sle->at(sfAMMID) = aMMIDValue;
315 sle->at(sfVaultID) = vaultIDValue;
316 sle->at(sfLoanBrokerID) = loanBrokerIDValue;
319 EXPECT_TRUE(builderFromSle.validate());
321 auto const entryFromBuilder = builderFromSle.build(index);
324 EXPECT_TRUE(entryFromBuilder.validate());
325 EXPECT_TRUE(entryFromSle.validate());
328 auto const& expected = accountValue;
330 auto const fromSle = entryFromSle.getAccount();
331 auto const fromBuilder = entryFromBuilder.getAccount();
338 auto const& expected = sequenceValue;
340 auto const fromSle = entryFromSle.getSequence();
341 auto const fromBuilder = entryFromBuilder.getSequence();
348 auto const& expected = balanceValue;
350 auto const fromSle = entryFromSle.getBalance();
351 auto const fromBuilder = entryFromBuilder.getBalance();
358 auto const& expected = ownerCountValue;
360 auto const fromSle = entryFromSle.getOwnerCount();
361 auto const fromBuilder = entryFromBuilder.getOwnerCount();
368 auto const& expected = previousTxnIDValue;
370 auto const fromSle = entryFromSle.getPreviousTxnID();
371 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
378 auto const& expected = previousTxnLgrSeqValue;
380 auto const fromSle = entryFromSle.getPreviousTxnLgrSeq();
381 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
388 auto const& expected = accountTxnIDValue;
390 auto const fromSleOpt = entryFromSle.getAccountTxnID();
391 auto const fromBuilderOpt = entryFromBuilder.getAccountTxnID();
393 ASSERT_TRUE(fromSleOpt.has_value());
394 ASSERT_TRUE(fromBuilderOpt.has_value());
401 auto const& expected = regularKeyValue;
403 auto const fromSleOpt = entryFromSle.getRegularKey();
404 auto const fromBuilderOpt = entryFromBuilder.getRegularKey();
406 ASSERT_TRUE(fromSleOpt.has_value());
407 ASSERT_TRUE(fromBuilderOpt.has_value());
414 auto const& expected = emailHashValue;
416 auto const fromSleOpt = entryFromSle.getEmailHash();
417 auto const fromBuilderOpt = entryFromBuilder.getEmailHash();
419 ASSERT_TRUE(fromSleOpt.has_value());
420 ASSERT_TRUE(fromBuilderOpt.has_value());
427 auto const& expected = walletLocatorValue;
429 auto const fromSleOpt = entryFromSle.getWalletLocator();
430 auto const fromBuilderOpt = entryFromBuilder.getWalletLocator();
432 ASSERT_TRUE(fromSleOpt.has_value());
433 ASSERT_TRUE(fromBuilderOpt.has_value());
440 auto const& expected = walletSizeValue;
442 auto const fromSleOpt = entryFromSle.getWalletSize();
443 auto const fromBuilderOpt = entryFromBuilder.getWalletSize();
445 ASSERT_TRUE(fromSleOpt.has_value());
446 ASSERT_TRUE(fromBuilderOpt.has_value());
453 auto const& expected = messageKeyValue;
455 auto const fromSleOpt = entryFromSle.getMessageKey();
456 auto const fromBuilderOpt = entryFromBuilder.getMessageKey();
458 ASSERT_TRUE(fromSleOpt.has_value());
459 ASSERT_TRUE(fromBuilderOpt.has_value());
466 auto const& expected = transferRateValue;
468 auto const fromSleOpt = entryFromSle.getTransferRate();
469 auto const fromBuilderOpt = entryFromBuilder.getTransferRate();
471 ASSERT_TRUE(fromSleOpt.has_value());
472 ASSERT_TRUE(fromBuilderOpt.has_value());
479 auto const& expected = domainValue;
481 auto const fromSleOpt = entryFromSle.getDomain();
482 auto const fromBuilderOpt = entryFromBuilder.getDomain();
484 ASSERT_TRUE(fromSleOpt.has_value());
485 ASSERT_TRUE(fromBuilderOpt.has_value());
492 auto const& expected = tickSizeValue;
494 auto const fromSleOpt = entryFromSle.getTickSize();
495 auto const fromBuilderOpt = entryFromBuilder.getTickSize();
497 ASSERT_TRUE(fromSleOpt.has_value());
498 ASSERT_TRUE(fromBuilderOpt.has_value());
505 auto const& expected = ticketCountValue;
507 auto const fromSleOpt = entryFromSle.getTicketCount();
508 auto const fromBuilderOpt = entryFromBuilder.getTicketCount();
510 ASSERT_TRUE(fromSleOpt.has_value());
511 ASSERT_TRUE(fromBuilderOpt.has_value());
518 auto const& expected = nFTokenMinterValue;
520 auto const fromSleOpt = entryFromSle.getNFTokenMinter();
521 auto const fromBuilderOpt = entryFromBuilder.getNFTokenMinter();
523 ASSERT_TRUE(fromSleOpt.has_value());
524 ASSERT_TRUE(fromBuilderOpt.has_value());
531 auto const& expected = mintedNFTokensValue;
533 auto const fromSleOpt = entryFromSle.getMintedNFTokens();
534 auto const fromBuilderOpt = entryFromBuilder.getMintedNFTokens();
536 ASSERT_TRUE(fromSleOpt.has_value());
537 ASSERT_TRUE(fromBuilderOpt.has_value());
544 auto const& expected = burnedNFTokensValue;
546 auto const fromSleOpt = entryFromSle.getBurnedNFTokens();
547 auto const fromBuilderOpt = entryFromBuilder.getBurnedNFTokens();
549 ASSERT_TRUE(fromSleOpt.has_value());
550 ASSERT_TRUE(fromBuilderOpt.has_value());
557 auto const& expected = firstNFTokenSequenceValue;
559 auto const fromSleOpt = entryFromSle.getFirstNFTokenSequence();
560 auto const fromBuilderOpt = entryFromBuilder.getFirstNFTokenSequence();
562 ASSERT_TRUE(fromSleOpt.has_value());
563 ASSERT_TRUE(fromBuilderOpt.has_value());
570 auto const& expected = aMMIDValue;
572 auto const fromSleOpt = entryFromSle.getAMMID();
573 auto const fromBuilderOpt = entryFromBuilder.getAMMID();
575 ASSERT_TRUE(fromSleOpt.has_value());
576 ASSERT_TRUE(fromBuilderOpt.has_value());
583 auto const& expected = vaultIDValue;
585 auto const fromSleOpt = entryFromSle.getVaultID();
586 auto const fromBuilderOpt = entryFromBuilder.getVaultID();
588 ASSERT_TRUE(fromSleOpt.has_value());
589 ASSERT_TRUE(fromBuilderOpt.has_value());
596 auto const& expected = loanBrokerIDValue;
598 auto const fromSleOpt = entryFromSle.getLoanBrokerID();
599 auto const fromBuilderOpt = entryFromBuilder.getLoanBrokerID();
601 ASSERT_TRUE(fromSleOpt.has_value());
602 ASSERT_TRUE(fromBuilderOpt.has_value());
608 EXPECT_EQ(entryFromSle.getKey(), index);
609 EXPECT_EQ(entryFromBuilder.getKey(), index);
649TEST(AccountRootTests, OptionalFieldsReturnNullopt)
666 previousTxnLgrSeqValue
669 auto const entry = builder.build(index);
672 EXPECT_FALSE(entry.hasAccountTxnID());
673 EXPECT_FALSE(entry.getAccountTxnID().has_value());
674 EXPECT_FALSE(entry.hasRegularKey());
675 EXPECT_FALSE(entry.getRegularKey().has_value());
676 EXPECT_FALSE(entry.hasEmailHash());
677 EXPECT_FALSE(entry.getEmailHash().has_value());
678 EXPECT_FALSE(entry.hasWalletLocator());
679 EXPECT_FALSE(entry.getWalletLocator().has_value());
680 EXPECT_FALSE(entry.hasWalletSize());
681 EXPECT_FALSE(entry.getWalletSize().has_value());
682 EXPECT_FALSE(entry.hasMessageKey());
683 EXPECT_FALSE(entry.getMessageKey().has_value());
684 EXPECT_FALSE(entry.hasTransferRate());
685 EXPECT_FALSE(entry.getTransferRate().has_value());
686 EXPECT_FALSE(entry.hasDomain());
687 EXPECT_FALSE(entry.getDomain().has_value());
688 EXPECT_FALSE(entry.hasTickSize());
689 EXPECT_FALSE(entry.getTickSize().has_value());
690 EXPECT_FALSE(entry.hasTicketCount());
691 EXPECT_FALSE(entry.getTicketCount().has_value());
692 EXPECT_FALSE(entry.hasNFTokenMinter());
693 EXPECT_FALSE(entry.getNFTokenMinter().has_value());
694 EXPECT_FALSE(entry.hasMintedNFTokens());
695 EXPECT_FALSE(entry.getMintedNFTokens().has_value());
696 EXPECT_FALSE(entry.hasBurnedNFTokens());
697 EXPECT_FALSE(entry.getBurnedNFTokens().has_value());
698 EXPECT_FALSE(entry.hasFirstNFTokenSequence());
699 EXPECT_FALSE(entry.getFirstNFTokenSequence().has_value());
700 EXPECT_FALSE(entry.hasAMMID());
701 EXPECT_FALSE(entry.getAMMID().has_value());
702 EXPECT_FALSE(entry.hasVaultID());
703 EXPECT_FALSE(entry.getVaultID().has_value());
704 EXPECT_FALSE(entry.hasLoanBrokerID());
705 EXPECT_FALSE(entry.getLoanBrokerID().has_value());