19TEST(MPTokenIssuanceTests, BuilderSettersRoundTrip)
45 outstandingAmountValue,
47 previousTxnLgrSeqValue
67 auto const entry = builder.
build(index);
69 EXPECT_TRUE(entry.validate());
72 auto const& expected = issuerValue;
73 auto const actual = entry.getIssuer();
78 auto const& expected = sequenceValue;
79 auto const actual = entry.getSequence();
84 auto const& expected = ownerNodeValue;
85 auto const actual = entry.getOwnerNode();
90 auto const& expected = outstandingAmountValue;
91 auto const actual = entry.getOutstandingAmount();
96 auto const& expected = previousTxnIDValue;
97 auto const actual = entry.getPreviousTxnID();
102 auto const& expected = previousTxnLgrSeqValue;
103 auto const actual = entry.getPreviousTxnLgrSeq();
108 auto const& expected = transferFeeValue;
109 auto const actualOpt = entry.getTransferFee();
110 ASSERT_TRUE(actualOpt.has_value());
112 EXPECT_TRUE(entry.hasTransferFee());
116 auto const& expected = assetScaleValue;
117 auto const actualOpt = entry.getAssetScale();
118 ASSERT_TRUE(actualOpt.has_value());
120 EXPECT_TRUE(entry.hasAssetScale());
124 auto const& expected = maximumAmountValue;
125 auto const actualOpt = entry.getMaximumAmount();
126 ASSERT_TRUE(actualOpt.has_value());
128 EXPECT_TRUE(entry.hasMaximumAmount());
132 auto const& expected = lockedAmountValue;
133 auto const actualOpt = entry.getLockedAmount();
134 ASSERT_TRUE(actualOpt.has_value());
136 EXPECT_TRUE(entry.hasLockedAmount());
140 auto const& expected = mPTokenMetadataValue;
141 auto const actualOpt = entry.getMPTokenMetadata();
142 ASSERT_TRUE(actualOpt.has_value());
144 EXPECT_TRUE(entry.hasMPTokenMetadata());
148 auto const& expected = domainIDValue;
149 auto const actualOpt = entry.getDomainID();
150 ASSERT_TRUE(actualOpt.has_value());
152 EXPECT_TRUE(entry.hasDomainID());
156 auto const& expected = mutableFlagsValue;
157 auto const actualOpt = entry.getMutableFlags();
158 ASSERT_TRUE(actualOpt.has_value());
160 EXPECT_TRUE(entry.hasMutableFlags());
164 auto const& expected = referenceHoldingValue;
165 auto const actualOpt = entry.getReferenceHolding();
166 ASSERT_TRUE(actualOpt.has_value());
168 EXPECT_TRUE(entry.hasReferenceHolding());
172 auto const& expected = issuerEncryptionKeyValue;
173 auto const actualOpt = entry.getIssuerEncryptionKey();
174 ASSERT_TRUE(actualOpt.has_value());
176 EXPECT_TRUE(entry.hasIssuerEncryptionKey());
180 auto const& expected = auditorEncryptionKeyValue;
181 auto const actualOpt = entry.getAuditorEncryptionKey();
182 ASSERT_TRUE(actualOpt.has_value());
184 EXPECT_TRUE(entry.hasAuditorEncryptionKey());
188 auto const& expected = confidentialOutstandingAmountValue;
189 auto const actualOpt = entry.getConfidentialOutstandingAmount();
190 ASSERT_TRUE(actualOpt.has_value());
192 EXPECT_TRUE(entry.hasConfidentialOutstandingAmount());
195 EXPECT_TRUE(entry.hasLedgerIndex());
196 auto const ledgerIndex = entry.getLedgerIndex();
197 ASSERT_TRUE(ledgerIndex.has_value());
198 EXPECT_EQ(*ledgerIndex, index);
199 EXPECT_EQ(entry.getKey(), index);
204TEST(MPTokenIssuanceTests, BuilderFromSleRoundTrip)
228 sle->at(sfIssuer) = issuerValue;
229 sle->at(sfSequence) = sequenceValue;
230 sle->at(sfTransferFee) = transferFeeValue;
231 sle->at(sfOwnerNode) = ownerNodeValue;
232 sle->at(sfAssetScale) = assetScaleValue;
233 sle->at(sfMaximumAmount) = maximumAmountValue;
234 sle->at(sfOutstandingAmount) = outstandingAmountValue;
235 sle->at(sfLockedAmount) = lockedAmountValue;
236 sle->at(sfMPTokenMetadata) = mPTokenMetadataValue;
237 sle->at(sfPreviousTxnID) = previousTxnIDValue;
238 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
239 sle->at(sfDomainID) = domainIDValue;
240 sle->at(sfMutableFlags) = mutableFlagsValue;
241 sle->at(sfReferenceHolding) = referenceHoldingValue;
242 sle->at(sfIssuerEncryptionKey) = issuerEncryptionKeyValue;
243 sle->at(sfAuditorEncryptionKey) = auditorEncryptionKeyValue;
244 sle->at(sfConfidentialOutstandingAmount) = confidentialOutstandingAmountValue;
247 EXPECT_TRUE(builderFromSle.
validate());
249 auto const entryFromBuilder = builderFromSle.
build(index);
252 EXPECT_TRUE(entryFromBuilder.validate());
253 EXPECT_TRUE(entryFromSle.
validate());
256 auto const& expected = issuerValue;
258 auto const fromSle = entryFromSle.
getIssuer();
259 auto const fromBuilder = entryFromBuilder.getIssuer();
266 auto const& expected = sequenceValue;
269 auto const fromBuilder = entryFromBuilder.getSequence();
276 auto const& expected = ownerNodeValue;
279 auto const fromBuilder = entryFromBuilder.getOwnerNode();
286 auto const& expected = outstandingAmountValue;
289 auto const fromBuilder = entryFromBuilder.getOutstandingAmount();
296 auto const& expected = previousTxnIDValue;
299 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
306 auto const& expected = previousTxnLgrSeqValue;
309 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
316 auto const& expected = transferFeeValue;
319 auto const fromBuilderOpt = entryFromBuilder.getTransferFee();
321 ASSERT_TRUE(fromSleOpt.has_value());
322 ASSERT_TRUE(fromBuilderOpt.has_value());
329 auto const& expected = assetScaleValue;
332 auto const fromBuilderOpt = entryFromBuilder.getAssetScale();
334 ASSERT_TRUE(fromSleOpt.has_value());
335 ASSERT_TRUE(fromBuilderOpt.has_value());
342 auto const& expected = maximumAmountValue;
345 auto const fromBuilderOpt = entryFromBuilder.getMaximumAmount();
347 ASSERT_TRUE(fromSleOpt.has_value());
348 ASSERT_TRUE(fromBuilderOpt.has_value());
355 auto const& expected = lockedAmountValue;
358 auto const fromBuilderOpt = entryFromBuilder.getLockedAmount();
360 ASSERT_TRUE(fromSleOpt.has_value());
361 ASSERT_TRUE(fromBuilderOpt.has_value());
368 auto const& expected = mPTokenMetadataValue;
371 auto const fromBuilderOpt = entryFromBuilder.getMPTokenMetadata();
373 ASSERT_TRUE(fromSleOpt.has_value());
374 ASSERT_TRUE(fromBuilderOpt.has_value());
381 auto const& expected = domainIDValue;
383 auto const fromSleOpt = entryFromSle.
getDomainID();
384 auto const fromBuilderOpt = entryFromBuilder.getDomainID();
386 ASSERT_TRUE(fromSleOpt.has_value());
387 ASSERT_TRUE(fromBuilderOpt.has_value());
394 auto const& expected = mutableFlagsValue;
397 auto const fromBuilderOpt = entryFromBuilder.getMutableFlags();
399 ASSERT_TRUE(fromSleOpt.has_value());
400 ASSERT_TRUE(fromBuilderOpt.has_value());
407 auto const& expected = referenceHoldingValue;
410 auto const fromBuilderOpt = entryFromBuilder.getReferenceHolding();
412 ASSERT_TRUE(fromSleOpt.has_value());
413 ASSERT_TRUE(fromBuilderOpt.has_value());
420 auto const& expected = issuerEncryptionKeyValue;
423 auto const fromBuilderOpt = entryFromBuilder.getIssuerEncryptionKey();
425 ASSERT_TRUE(fromSleOpt.has_value());
426 ASSERT_TRUE(fromBuilderOpt.has_value());
433 auto const& expected = auditorEncryptionKeyValue;
436 auto const fromBuilderOpt = entryFromBuilder.getAuditorEncryptionKey();
438 ASSERT_TRUE(fromSleOpt.has_value());
439 ASSERT_TRUE(fromBuilderOpt.has_value());
446 auto const& expected = confidentialOutstandingAmountValue;
449 auto const fromBuilderOpt = entryFromBuilder.getConfidentialOutstandingAmount();
451 ASSERT_TRUE(fromSleOpt.has_value());
452 ASSERT_TRUE(fromBuilderOpt.has_value());
455 expectEqualField(expected, *fromBuilderOpt,
"sfConfidentialOutstandingAmount");
458 EXPECT_EQ(entryFromSle.
getKey(), index);
459 EXPECT_EQ(entryFromBuilder.getKey(), index);
499TEST(MPTokenIssuanceTests, OptionalFieldsReturnNullopt)
514 outstandingAmountValue,
516 previousTxnLgrSeqValue
519 auto const entry = builder.
build(index);
522 EXPECT_FALSE(entry.hasTransferFee());
523 EXPECT_FALSE(entry.getTransferFee().has_value());
524 EXPECT_FALSE(entry.hasAssetScale());
525 EXPECT_FALSE(entry.getAssetScale().has_value());
526 EXPECT_FALSE(entry.hasMaximumAmount());
527 EXPECT_FALSE(entry.getMaximumAmount().has_value());
528 EXPECT_FALSE(entry.hasLockedAmount());
529 EXPECT_FALSE(entry.getLockedAmount().has_value());
530 EXPECT_FALSE(entry.hasMPTokenMetadata());
531 EXPECT_FALSE(entry.getMPTokenMetadata().has_value());
532 EXPECT_FALSE(entry.hasDomainID());
533 EXPECT_FALSE(entry.getDomainID().has_value());
534 EXPECT_FALSE(entry.hasMutableFlags());
535 EXPECT_FALSE(entry.getMutableFlags().has_value());
536 EXPECT_FALSE(entry.hasReferenceHolding());
537 EXPECT_FALSE(entry.getReferenceHolding().has_value());
538 EXPECT_FALSE(entry.hasIssuerEncryptionKey());
539 EXPECT_FALSE(entry.getIssuerEncryptionKey().has_value());
540 EXPECT_FALSE(entry.hasAuditorEncryptionKey());
541 EXPECT_FALSE(entry.getAuditorEncryptionKey().has_value());
542 EXPECT_FALSE(entry.hasConfidentialOutstandingAmount());
543 EXPECT_FALSE(entry.getConfidentialOutstandingAmount().has_value());