19TEST(EscrowTests, BuilderSettersRoundTrip)
45 previousTxnLgrSeqValue
61 EXPECT_TRUE(builder.validate());
63 auto const entry = builder.build(index);
65 EXPECT_TRUE(entry.validate());
68 auto const& expected = accountValue;
69 auto const actual = entry.getAccount();
74 auto const& expected = destinationValue;
75 auto const actual = entry.getDestination();
80 auto const& expected = amountValue;
81 auto const actual = entry.getAmount();
86 auto const& expected = ownerNodeValue;
87 auto const actual = entry.getOwnerNode();
92 auto const& expected = previousTxnIDValue;
93 auto const actual = entry.getPreviousTxnID();
98 auto const& expected = previousTxnLgrSeqValue;
99 auto const actual = entry.getPreviousTxnLgrSeq();
104 auto const& expected = sequenceValue;
105 auto const actualOpt = entry.getSequence();
106 ASSERT_TRUE(actualOpt.has_value());
108 EXPECT_TRUE(entry.hasSequence());
112 auto const& expected = conditionValue;
113 auto const actualOpt = entry.getCondition();
114 ASSERT_TRUE(actualOpt.has_value());
116 EXPECT_TRUE(entry.hasCondition());
120 auto const& expected = cancelAfterValue;
121 auto const actualOpt = entry.getCancelAfter();
122 ASSERT_TRUE(actualOpt.has_value());
124 EXPECT_TRUE(entry.hasCancelAfter());
128 auto const& expected = finishAfterValue;
129 auto const actualOpt = entry.getFinishAfter();
130 ASSERT_TRUE(actualOpt.has_value());
132 EXPECT_TRUE(entry.hasFinishAfter());
136 auto const& expected = sourceTagValue;
137 auto const actualOpt = entry.getSourceTag();
138 ASSERT_TRUE(actualOpt.has_value());
140 EXPECT_TRUE(entry.hasSourceTag());
144 auto const& expected = destinationTagValue;
145 auto const actualOpt = entry.getDestinationTag();
146 ASSERT_TRUE(actualOpt.has_value());
148 EXPECT_TRUE(entry.hasDestinationTag());
152 auto const& expected = destinationNodeValue;
153 auto const actualOpt = entry.getDestinationNode();
154 ASSERT_TRUE(actualOpt.has_value());
156 EXPECT_TRUE(entry.hasDestinationNode());
160 auto const& expected = transferRateValue;
161 auto const actualOpt = entry.getTransferRate();
162 ASSERT_TRUE(actualOpt.has_value());
164 EXPECT_TRUE(entry.hasTransferRate());
168 auto const& expected = issuerNodeValue;
169 auto const actualOpt = entry.getIssuerNode();
170 ASSERT_TRUE(actualOpt.has_value());
172 EXPECT_TRUE(entry.hasIssuerNode());
175 EXPECT_TRUE(entry.hasLedgerIndex());
176 auto const ledgerIndex = entry.getLedgerIndex();
177 ASSERT_TRUE(ledgerIndex.has_value());
178 EXPECT_EQ(*ledgerIndex, index);
179 EXPECT_EQ(entry.getKey(), index);
184TEST(EscrowTests, BuilderFromSleRoundTrip)
206 sle->at(sfAccount) = accountValue;
207 sle->at(sfSequence) = sequenceValue;
208 sle->at(sfDestination) = destinationValue;
209 sle->at(sfAmount) = amountValue;
210 sle->at(sfCondition) = conditionValue;
211 sle->at(sfCancelAfter) = cancelAfterValue;
212 sle->at(sfFinishAfter) = finishAfterValue;
213 sle->at(sfSourceTag) = sourceTagValue;
214 sle->at(sfDestinationTag) = destinationTagValue;
215 sle->at(sfOwnerNode) = ownerNodeValue;
216 sle->at(sfPreviousTxnID) = previousTxnIDValue;
217 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
218 sle->at(sfDestinationNode) = destinationNodeValue;
219 sle->at(sfTransferRate) = transferRateValue;
220 sle->at(sfIssuerNode) = issuerNodeValue;
223 EXPECT_TRUE(builderFromSle.validate());
225 auto const entryFromBuilder = builderFromSle.build(index);
228 EXPECT_TRUE(entryFromBuilder.validate());
229 EXPECT_TRUE(entryFromSle.validate());
232 auto const& expected = accountValue;
234 auto const fromSle = entryFromSle.getAccount();
235 auto const fromBuilder = entryFromBuilder.getAccount();
242 auto const& expected = destinationValue;
244 auto const fromSle = entryFromSle.getDestination();
245 auto const fromBuilder = entryFromBuilder.getDestination();
252 auto const& expected = amountValue;
254 auto const fromSle = entryFromSle.getAmount();
255 auto const fromBuilder = entryFromBuilder.getAmount();
262 auto const& expected = ownerNodeValue;
264 auto const fromSle = entryFromSle.getOwnerNode();
265 auto const fromBuilder = entryFromBuilder.getOwnerNode();
272 auto const& expected = previousTxnIDValue;
274 auto const fromSle = entryFromSle.getPreviousTxnID();
275 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
282 auto const& expected = previousTxnLgrSeqValue;
284 auto const fromSle = entryFromSle.getPreviousTxnLgrSeq();
285 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
292 auto const& expected = sequenceValue;
294 auto const fromSleOpt = entryFromSle.getSequence();
295 auto const fromBuilderOpt = entryFromBuilder.getSequence();
297 ASSERT_TRUE(fromSleOpt.has_value());
298 ASSERT_TRUE(fromBuilderOpt.has_value());
305 auto const& expected = conditionValue;
307 auto const fromSleOpt = entryFromSle.getCondition();
308 auto const fromBuilderOpt = entryFromBuilder.getCondition();
310 ASSERT_TRUE(fromSleOpt.has_value());
311 ASSERT_TRUE(fromBuilderOpt.has_value());
318 auto const& expected = cancelAfterValue;
320 auto const fromSleOpt = entryFromSle.getCancelAfter();
321 auto const fromBuilderOpt = entryFromBuilder.getCancelAfter();
323 ASSERT_TRUE(fromSleOpt.has_value());
324 ASSERT_TRUE(fromBuilderOpt.has_value());
331 auto const& expected = finishAfterValue;
333 auto const fromSleOpt = entryFromSle.getFinishAfter();
334 auto const fromBuilderOpt = entryFromBuilder.getFinishAfter();
336 ASSERT_TRUE(fromSleOpt.has_value());
337 ASSERT_TRUE(fromBuilderOpt.has_value());
344 auto const& expected = sourceTagValue;
346 auto const fromSleOpt = entryFromSle.getSourceTag();
347 auto const fromBuilderOpt = entryFromBuilder.getSourceTag();
349 ASSERT_TRUE(fromSleOpt.has_value());
350 ASSERT_TRUE(fromBuilderOpt.has_value());
357 auto const& expected = destinationTagValue;
359 auto const fromSleOpt = entryFromSle.getDestinationTag();
360 auto const fromBuilderOpt = entryFromBuilder.getDestinationTag();
362 ASSERT_TRUE(fromSleOpt.has_value());
363 ASSERT_TRUE(fromBuilderOpt.has_value());
370 auto const& expected = destinationNodeValue;
372 auto const fromSleOpt = entryFromSle.getDestinationNode();
373 auto const fromBuilderOpt = entryFromBuilder.getDestinationNode();
375 ASSERT_TRUE(fromSleOpt.has_value());
376 ASSERT_TRUE(fromBuilderOpt.has_value());
383 auto const& expected = transferRateValue;
385 auto const fromSleOpt = entryFromSle.getTransferRate();
386 auto const fromBuilderOpt = entryFromBuilder.getTransferRate();
388 ASSERT_TRUE(fromSleOpt.has_value());
389 ASSERT_TRUE(fromBuilderOpt.has_value());
396 auto const& expected = issuerNodeValue;
398 auto const fromSleOpt = entryFromSle.getIssuerNode();
399 auto const fromBuilderOpt = entryFromBuilder.getIssuerNode();
401 ASSERT_TRUE(fromSleOpt.has_value());
402 ASSERT_TRUE(fromBuilderOpt.has_value());
408 EXPECT_EQ(entryFromSle.getKey(), index);
409 EXPECT_EQ(entryFromBuilder.getKey(), index);
449TEST(EscrowTests, OptionalFieldsReturnNullopt)
466 previousTxnLgrSeqValue
469 auto const entry = builder.build(index);
472 EXPECT_FALSE(entry.hasSequence());
473 EXPECT_FALSE(entry.getSequence().has_value());
474 EXPECT_FALSE(entry.hasCondition());
475 EXPECT_FALSE(entry.getCondition().has_value());
476 EXPECT_FALSE(entry.hasCancelAfter());
477 EXPECT_FALSE(entry.getCancelAfter().has_value());
478 EXPECT_FALSE(entry.hasFinishAfter());
479 EXPECT_FALSE(entry.getFinishAfter().has_value());
480 EXPECT_FALSE(entry.hasSourceTag());
481 EXPECT_FALSE(entry.getSourceTag().has_value());
482 EXPECT_FALSE(entry.hasDestinationTag());
483 EXPECT_FALSE(entry.getDestinationTag().has_value());
484 EXPECT_FALSE(entry.hasDestinationNode());
485 EXPECT_FALSE(entry.getDestinationNode().has_value());
486 EXPECT_FALSE(entry.hasTransferRate());
487 EXPECT_FALSE(entry.getTransferRate().has_value());
488 EXPECT_FALSE(entry.hasIssuerNode());
489 EXPECT_FALSE(entry.getIssuerNode().has_value());