19TEST(DirectoryNodeTests, BuilderSettersRoundTrip)
59 EXPECT_TRUE(builder.validate());
61 auto const entry = builder.build(index);
63 EXPECT_TRUE(entry.validate());
66 auto const& expected = indexesValue;
67 auto const actual = entry.getIndexes();
72 auto const& expected = rootIndexValue;
73 auto const actual = entry.getRootIndex();
78 auto const& expected = ownerValue;
79 auto const actualOpt = entry.getOwner();
80 ASSERT_TRUE(actualOpt.has_value());
82 EXPECT_TRUE(entry.hasOwner());
86 auto const& expected = takerPaysCurrencyValue;
87 auto const actualOpt = entry.getTakerPaysCurrency();
88 ASSERT_TRUE(actualOpt.has_value());
90 EXPECT_TRUE(entry.hasTakerPaysCurrency());
94 auto const& expected = takerPaysIssuerValue;
95 auto const actualOpt = entry.getTakerPaysIssuer();
96 ASSERT_TRUE(actualOpt.has_value());
98 EXPECT_TRUE(entry.hasTakerPaysIssuer());
102 auto const& expected = takerGetsCurrencyValue;
103 auto const actualOpt = entry.getTakerGetsCurrency();
104 ASSERT_TRUE(actualOpt.has_value());
106 EXPECT_TRUE(entry.hasTakerGetsCurrency());
110 auto const& expected = takerGetsIssuerValue;
111 auto const actualOpt = entry.getTakerGetsIssuer();
112 ASSERT_TRUE(actualOpt.has_value());
114 EXPECT_TRUE(entry.hasTakerGetsIssuer());
118 auto const& expected = exchangeRateValue;
119 auto const actualOpt = entry.getExchangeRate();
120 ASSERT_TRUE(actualOpt.has_value());
122 EXPECT_TRUE(entry.hasExchangeRate());
126 auto const& expected = indexNextValue;
127 auto const actualOpt = entry.getIndexNext();
128 ASSERT_TRUE(actualOpt.has_value());
130 EXPECT_TRUE(entry.hasIndexNext());
134 auto const& expected = indexPreviousValue;
135 auto const actualOpt = entry.getIndexPrevious();
136 ASSERT_TRUE(actualOpt.has_value());
138 EXPECT_TRUE(entry.hasIndexPrevious());
142 auto const& expected = nFTokenIDValue;
143 auto const actualOpt = entry.getNFTokenID();
144 ASSERT_TRUE(actualOpt.has_value());
146 EXPECT_TRUE(entry.hasNFTokenID());
150 auto const& expected = previousTxnIDValue;
151 auto const actualOpt = entry.getPreviousTxnID();
152 ASSERT_TRUE(actualOpt.has_value());
154 EXPECT_TRUE(entry.hasPreviousTxnID());
158 auto const& expected = previousTxnLgrSeqValue;
159 auto const actualOpt = entry.getPreviousTxnLgrSeq();
160 ASSERT_TRUE(actualOpt.has_value());
162 EXPECT_TRUE(entry.hasPreviousTxnLgrSeq());
166 auto const& expected = domainIDValue;
167 auto const actualOpt = entry.getDomainID();
168 ASSERT_TRUE(actualOpt.has_value());
170 EXPECT_TRUE(entry.hasDomainID());
173 EXPECT_TRUE(entry.hasLedgerIndex());
174 auto const ledgerIndex = entry.getLedgerIndex();
175 ASSERT_TRUE(ledgerIndex.has_value());
176 EXPECT_EQ(*ledgerIndex, index);
177 EXPECT_EQ(entry.getKey(), index);
182TEST(DirectoryNodeTests, BuilderFromSleRoundTrip)
203 sle->at(sfOwner) = ownerValue;
204 sle->at(sfTakerPaysCurrency) = takerPaysCurrencyValue;
205 sle->at(sfTakerPaysIssuer) = takerPaysIssuerValue;
206 sle->at(sfTakerGetsCurrency) = takerGetsCurrencyValue;
207 sle->at(sfTakerGetsIssuer) = takerGetsIssuerValue;
208 sle->at(sfExchangeRate) = exchangeRateValue;
209 sle->at(sfIndexes) = indexesValue;
210 sle->at(sfRootIndex) = rootIndexValue;
211 sle->at(sfIndexNext) = indexNextValue;
212 sle->at(sfIndexPrevious) = indexPreviousValue;
213 sle->at(sfNFTokenID) = nFTokenIDValue;
214 sle->at(sfPreviousTxnID) = previousTxnIDValue;
215 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
216 sle->at(sfDomainID) = domainIDValue;
219 EXPECT_TRUE(builderFromSle.validate());
221 auto const entryFromBuilder = builderFromSle.build(index);
224 EXPECT_TRUE(entryFromBuilder.validate());
225 EXPECT_TRUE(entryFromSle.validate());
228 auto const& expected = indexesValue;
230 auto const fromSle = entryFromSle.getIndexes();
231 auto const fromBuilder = entryFromBuilder.getIndexes();
238 auto const& expected = rootIndexValue;
240 auto const fromSle = entryFromSle.getRootIndex();
241 auto const fromBuilder = entryFromBuilder.getRootIndex();
248 auto const& expected = ownerValue;
250 auto const fromSleOpt = entryFromSle.getOwner();
251 auto const fromBuilderOpt = entryFromBuilder.getOwner();
253 ASSERT_TRUE(fromSleOpt.has_value());
254 ASSERT_TRUE(fromBuilderOpt.has_value());
261 auto const& expected = takerPaysCurrencyValue;
263 auto const fromSleOpt = entryFromSle.getTakerPaysCurrency();
264 auto const fromBuilderOpt = entryFromBuilder.getTakerPaysCurrency();
266 ASSERT_TRUE(fromSleOpt.has_value());
267 ASSERT_TRUE(fromBuilderOpt.has_value());
274 auto const& expected = takerPaysIssuerValue;
276 auto const fromSleOpt = entryFromSle.getTakerPaysIssuer();
277 auto const fromBuilderOpt = entryFromBuilder.getTakerPaysIssuer();
279 ASSERT_TRUE(fromSleOpt.has_value());
280 ASSERT_TRUE(fromBuilderOpt.has_value());
287 auto const& expected = takerGetsCurrencyValue;
289 auto const fromSleOpt = entryFromSle.getTakerGetsCurrency();
290 auto const fromBuilderOpt = entryFromBuilder.getTakerGetsCurrency();
292 ASSERT_TRUE(fromSleOpt.has_value());
293 ASSERT_TRUE(fromBuilderOpt.has_value());
300 auto const& expected = takerGetsIssuerValue;
302 auto const fromSleOpt = entryFromSle.getTakerGetsIssuer();
303 auto const fromBuilderOpt = entryFromBuilder.getTakerGetsIssuer();
305 ASSERT_TRUE(fromSleOpt.has_value());
306 ASSERT_TRUE(fromBuilderOpt.has_value());
313 auto const& expected = exchangeRateValue;
315 auto const fromSleOpt = entryFromSle.getExchangeRate();
316 auto const fromBuilderOpt = entryFromBuilder.getExchangeRate();
318 ASSERT_TRUE(fromSleOpt.has_value());
319 ASSERT_TRUE(fromBuilderOpt.has_value());
326 auto const& expected = indexNextValue;
328 auto const fromSleOpt = entryFromSle.getIndexNext();
329 auto const fromBuilderOpt = entryFromBuilder.getIndexNext();
331 ASSERT_TRUE(fromSleOpt.has_value());
332 ASSERT_TRUE(fromBuilderOpt.has_value());
339 auto const& expected = indexPreviousValue;
341 auto const fromSleOpt = entryFromSle.getIndexPrevious();
342 auto const fromBuilderOpt = entryFromBuilder.getIndexPrevious();
344 ASSERT_TRUE(fromSleOpt.has_value());
345 ASSERT_TRUE(fromBuilderOpt.has_value());
352 auto const& expected = nFTokenIDValue;
354 auto const fromSleOpt = entryFromSle.getNFTokenID();
355 auto const fromBuilderOpt = entryFromBuilder.getNFTokenID();
357 ASSERT_TRUE(fromSleOpt.has_value());
358 ASSERT_TRUE(fromBuilderOpt.has_value());
365 auto const& expected = previousTxnIDValue;
367 auto const fromSleOpt = entryFromSle.getPreviousTxnID();
368 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnID();
370 ASSERT_TRUE(fromSleOpt.has_value());
371 ASSERT_TRUE(fromBuilderOpt.has_value());
378 auto const& expected = previousTxnLgrSeqValue;
380 auto const fromSleOpt = entryFromSle.getPreviousTxnLgrSeq();
381 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnLgrSeq();
383 ASSERT_TRUE(fromSleOpt.has_value());
384 ASSERT_TRUE(fromBuilderOpt.has_value());
391 auto const& expected = domainIDValue;
393 auto const fromSleOpt = entryFromSle.getDomainID();
394 auto const fromBuilderOpt = entryFromBuilder.getDomainID();
396 ASSERT_TRUE(fromSleOpt.has_value());
397 ASSERT_TRUE(fromBuilderOpt.has_value());
403 EXPECT_EQ(entryFromSle.getKey(), index);
404 EXPECT_EQ(entryFromBuilder.getKey(), index);
444TEST(DirectoryNodeTests, OptionalFieldsReturnNullopt)
456 auto const entry = builder.build(index);
459 EXPECT_FALSE(entry.hasOwner());
460 EXPECT_FALSE(entry.getOwner().has_value());
461 EXPECT_FALSE(entry.hasTakerPaysCurrency());
462 EXPECT_FALSE(entry.getTakerPaysCurrency().has_value());
463 EXPECT_FALSE(entry.hasTakerPaysIssuer());
464 EXPECT_FALSE(entry.getTakerPaysIssuer().has_value());
465 EXPECT_FALSE(entry.hasTakerGetsCurrency());
466 EXPECT_FALSE(entry.getTakerGetsCurrency().has_value());
467 EXPECT_FALSE(entry.hasTakerGetsIssuer());
468 EXPECT_FALSE(entry.getTakerGetsIssuer().has_value());
469 EXPECT_FALSE(entry.hasExchangeRate());
470 EXPECT_FALSE(entry.getExchangeRate().has_value());
471 EXPECT_FALSE(entry.hasIndexNext());
472 EXPECT_FALSE(entry.getIndexNext().has_value());
473 EXPECT_FALSE(entry.hasIndexPrevious());
474 EXPECT_FALSE(entry.getIndexPrevious().has_value());
475 EXPECT_FALSE(entry.hasNFTokenID());
476 EXPECT_FALSE(entry.getNFTokenID().has_value());
477 EXPECT_FALSE(entry.hasPreviousTxnID());
478 EXPECT_FALSE(entry.getPreviousTxnID().has_value());
479 EXPECT_FALSE(entry.hasPreviousTxnLgrSeq());
480 EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value());
481 EXPECT_FALSE(entry.hasDomainID());
482 EXPECT_FALSE(entry.getDomainID().has_value());