19TEST(DirectoryNodeTests, BuilderSettersRoundTrip)
65 auto const entry = builder.
build(index);
67 EXPECT_TRUE(entry.validate());
70 auto const& expected = indexesValue;
71 auto const actual = entry.getIndexes();
76 auto const& expected = rootIndexValue;
77 auto const actual = entry.getRootIndex();
82 auto const& expected = ownerValue;
83 auto const actualOpt = entry.getOwner();
84 ASSERT_TRUE(actualOpt.has_value());
86 EXPECT_TRUE(entry.hasOwner());
90 auto const& expected = takerPaysCurrencyValue;
91 auto const actualOpt = entry.getTakerPaysCurrency();
92 ASSERT_TRUE(actualOpt.has_value());
94 EXPECT_TRUE(entry.hasTakerPaysCurrency());
98 auto const& expected = takerPaysIssuerValue;
99 auto const actualOpt = entry.getTakerPaysIssuer();
100 ASSERT_TRUE(actualOpt.has_value());
102 EXPECT_TRUE(entry.hasTakerPaysIssuer());
106 auto const& expected = takerPaysMPTValue;
107 auto const actualOpt = entry.getTakerPaysMPT();
108 ASSERT_TRUE(actualOpt.has_value());
110 EXPECT_TRUE(entry.hasTakerPaysMPT());
114 auto const& expected = takerGetsCurrencyValue;
115 auto const actualOpt = entry.getTakerGetsCurrency();
116 ASSERT_TRUE(actualOpt.has_value());
118 EXPECT_TRUE(entry.hasTakerGetsCurrency());
122 auto const& expected = takerGetsIssuerValue;
123 auto const actualOpt = entry.getTakerGetsIssuer();
124 ASSERT_TRUE(actualOpt.has_value());
126 EXPECT_TRUE(entry.hasTakerGetsIssuer());
130 auto const& expected = takerGetsMPTValue;
131 auto const actualOpt = entry.getTakerGetsMPT();
132 ASSERT_TRUE(actualOpt.has_value());
134 EXPECT_TRUE(entry.hasTakerGetsMPT());
138 auto const& expected = exchangeRateValue;
139 auto const actualOpt = entry.getExchangeRate();
140 ASSERT_TRUE(actualOpt.has_value());
142 EXPECT_TRUE(entry.hasExchangeRate());
146 auto const& expected = indexNextValue;
147 auto const actualOpt = entry.getIndexNext();
148 ASSERT_TRUE(actualOpt.has_value());
150 EXPECT_TRUE(entry.hasIndexNext());
154 auto const& expected = indexPreviousValue;
155 auto const actualOpt = entry.getIndexPrevious();
156 ASSERT_TRUE(actualOpt.has_value());
158 EXPECT_TRUE(entry.hasIndexPrevious());
162 auto const& expected = nFTokenIDValue;
163 auto const actualOpt = entry.getNFTokenID();
164 ASSERT_TRUE(actualOpt.has_value());
166 EXPECT_TRUE(entry.hasNFTokenID());
170 auto const& expected = previousTxnIDValue;
171 auto const actualOpt = entry.getPreviousTxnID();
172 ASSERT_TRUE(actualOpt.has_value());
174 EXPECT_TRUE(entry.hasPreviousTxnID());
178 auto const& expected = previousTxnLgrSeqValue;
179 auto const actualOpt = entry.getPreviousTxnLgrSeq();
180 ASSERT_TRUE(actualOpt.has_value());
182 EXPECT_TRUE(entry.hasPreviousTxnLgrSeq());
186 auto const& expected = domainIDValue;
187 auto const actualOpt = entry.getDomainID();
188 ASSERT_TRUE(actualOpt.has_value());
190 EXPECT_TRUE(entry.hasDomainID());
193 EXPECT_TRUE(entry.hasLedgerIndex());
194 auto const ledgerIndex = entry.getLedgerIndex();
195 ASSERT_TRUE(ledgerIndex.has_value());
196 EXPECT_EQ(*ledgerIndex, index);
197 EXPECT_EQ(entry.getKey(), index);
202TEST(DirectoryNodeTests, BuilderFromSleRoundTrip)
225 sle->at(sfOwner) = ownerValue;
226 sle->at(sfTakerPaysCurrency) = takerPaysCurrencyValue;
227 sle->at(sfTakerPaysIssuer) = takerPaysIssuerValue;
228 sle->at(sfTakerPaysMPT) = takerPaysMPTValue;
229 sle->at(sfTakerGetsCurrency) = takerGetsCurrencyValue;
230 sle->at(sfTakerGetsIssuer) = takerGetsIssuerValue;
231 sle->at(sfTakerGetsMPT) = takerGetsMPTValue;
232 sle->at(sfExchangeRate) = exchangeRateValue;
233 sle->at(sfIndexes) = indexesValue;
234 sle->at(sfRootIndex) = rootIndexValue;
235 sle->at(sfIndexNext) = indexNextValue;
236 sle->at(sfIndexPrevious) = indexPreviousValue;
237 sle->at(sfNFTokenID) = nFTokenIDValue;
238 sle->at(sfPreviousTxnID) = previousTxnIDValue;
239 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
240 sle->at(sfDomainID) = domainIDValue;
243 EXPECT_TRUE(builderFromSle.
validate());
245 auto const entryFromBuilder = builderFromSle.
build(index);
248 EXPECT_TRUE(entryFromBuilder.validate());
249 EXPECT_TRUE(entryFromSle.
validate());
252 auto const& expected = indexesValue;
254 auto const fromSle = entryFromSle.
getIndexes();
255 auto const fromBuilder = entryFromBuilder.getIndexes();
262 auto const& expected = rootIndexValue;
265 auto const fromBuilder = entryFromBuilder.getRootIndex();
272 auto const& expected = ownerValue;
274 auto const fromSleOpt = entryFromSle.
getOwner();
275 auto const fromBuilderOpt = entryFromBuilder.getOwner();
277 ASSERT_TRUE(fromSleOpt.has_value());
278 ASSERT_TRUE(fromBuilderOpt.has_value());
285 auto const& expected = takerPaysCurrencyValue;
288 auto const fromBuilderOpt = entryFromBuilder.getTakerPaysCurrency();
290 ASSERT_TRUE(fromSleOpt.has_value());
291 ASSERT_TRUE(fromBuilderOpt.has_value());
298 auto const& expected = takerPaysIssuerValue;
301 auto const fromBuilderOpt = entryFromBuilder.getTakerPaysIssuer();
303 ASSERT_TRUE(fromSleOpt.has_value());
304 ASSERT_TRUE(fromBuilderOpt.has_value());
311 auto const& expected = takerPaysMPTValue;
314 auto const fromBuilderOpt = entryFromBuilder.getTakerPaysMPT();
316 ASSERT_TRUE(fromSleOpt.has_value());
317 ASSERT_TRUE(fromBuilderOpt.has_value());
324 auto const& expected = takerGetsCurrencyValue;
327 auto const fromBuilderOpt = entryFromBuilder.getTakerGetsCurrency();
329 ASSERT_TRUE(fromSleOpt.has_value());
330 ASSERT_TRUE(fromBuilderOpt.has_value());
337 auto const& expected = takerGetsIssuerValue;
340 auto const fromBuilderOpt = entryFromBuilder.getTakerGetsIssuer();
342 ASSERT_TRUE(fromSleOpt.has_value());
343 ASSERT_TRUE(fromBuilderOpt.has_value());
350 auto const& expected = takerGetsMPTValue;
353 auto const fromBuilderOpt = entryFromBuilder.getTakerGetsMPT();
355 ASSERT_TRUE(fromSleOpt.has_value());
356 ASSERT_TRUE(fromBuilderOpt.has_value());
363 auto const& expected = exchangeRateValue;
366 auto const fromBuilderOpt = entryFromBuilder.getExchangeRate();
368 ASSERT_TRUE(fromSleOpt.has_value());
369 ASSERT_TRUE(fromBuilderOpt.has_value());
376 auto const& expected = indexNextValue;
379 auto const fromBuilderOpt = entryFromBuilder.getIndexNext();
381 ASSERT_TRUE(fromSleOpt.has_value());
382 ASSERT_TRUE(fromBuilderOpt.has_value());
389 auto const& expected = indexPreviousValue;
392 auto const fromBuilderOpt = entryFromBuilder.getIndexPrevious();
394 ASSERT_TRUE(fromSleOpt.has_value());
395 ASSERT_TRUE(fromBuilderOpt.has_value());
402 auto const& expected = nFTokenIDValue;
405 auto const fromBuilderOpt = entryFromBuilder.getNFTokenID();
407 ASSERT_TRUE(fromSleOpt.has_value());
408 ASSERT_TRUE(fromBuilderOpt.has_value());
415 auto const& expected = previousTxnIDValue;
418 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnID();
420 ASSERT_TRUE(fromSleOpt.has_value());
421 ASSERT_TRUE(fromBuilderOpt.has_value());
428 auto const& expected = previousTxnLgrSeqValue;
431 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnLgrSeq();
433 ASSERT_TRUE(fromSleOpt.has_value());
434 ASSERT_TRUE(fromBuilderOpt.has_value());
441 auto const& expected = domainIDValue;
443 auto const fromSleOpt = entryFromSle.
getDomainID();
444 auto const fromBuilderOpt = entryFromBuilder.getDomainID();
446 ASSERT_TRUE(fromSleOpt.has_value());
447 ASSERT_TRUE(fromBuilderOpt.has_value());
453 EXPECT_EQ(entryFromSle.
getKey(), index);
454 EXPECT_EQ(entryFromBuilder.getKey(), index);
494TEST(DirectoryNodeTests, OptionalFieldsReturnNullopt)
506 auto const entry = builder.
build(index);
509 EXPECT_FALSE(entry.hasOwner());
510 EXPECT_FALSE(entry.getOwner().has_value());
511 EXPECT_FALSE(entry.hasTakerPaysCurrency());
512 EXPECT_FALSE(entry.getTakerPaysCurrency().has_value());
513 EXPECT_FALSE(entry.hasTakerPaysIssuer());
514 EXPECT_FALSE(entry.getTakerPaysIssuer().has_value());
515 EXPECT_FALSE(entry.hasTakerPaysMPT());
516 EXPECT_FALSE(entry.getTakerPaysMPT().has_value());
517 EXPECT_FALSE(entry.hasTakerGetsCurrency());
518 EXPECT_FALSE(entry.getTakerGetsCurrency().has_value());
519 EXPECT_FALSE(entry.hasTakerGetsIssuer());
520 EXPECT_FALSE(entry.getTakerGetsIssuer().has_value());
521 EXPECT_FALSE(entry.hasTakerGetsMPT());
522 EXPECT_FALSE(entry.getTakerGetsMPT().has_value());
523 EXPECT_FALSE(entry.hasExchangeRate());
524 EXPECT_FALSE(entry.getExchangeRate().has_value());
525 EXPECT_FALSE(entry.hasIndexNext());
526 EXPECT_FALSE(entry.getIndexNext().has_value());
527 EXPECT_FALSE(entry.hasIndexPrevious());
528 EXPECT_FALSE(entry.getIndexPrevious().has_value());
529 EXPECT_FALSE(entry.hasNFTokenID());
530 EXPECT_FALSE(entry.getNFTokenID().has_value());
531 EXPECT_FALSE(entry.hasPreviousTxnID());
532 EXPECT_FALSE(entry.getPreviousTxnID().has_value());
533 EXPECT_FALSE(entry.hasPreviousTxnLgrSeq());
534 EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value());
535 EXPECT_FALSE(entry.hasDomainID());
536 EXPECT_FALSE(entry.getDomainID().has_value());