20TEST(TransactionsMPTokenIssuanceCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
46 builder.setAssetScale(assetScaleValue);
47 builder.setTransferFee(transferFeeValue);
48 builder.setMaximumAmount(maximumAmountValue);
49 builder.setMPTokenMetadata(mPTokenMetadataValue);
50 builder.setDomainID(domainIDValue);
51 builder.setMutableFlags(mutableFlagsValue);
53 auto tx = builder.build(publicKey, secretKey);
56 EXPECT_TRUE(tx.validate(reason)) << reason;
59 EXPECT_FALSE(tx.getSigningPubKey().empty());
60 EXPECT_TRUE(tx.hasTxnSignature());
63 EXPECT_EQ(tx.getAccount(), accountValue);
64 EXPECT_EQ(tx.getSequence(), sequenceValue);
65 EXPECT_EQ(tx.getFee(), feeValue);
70 auto const& expected = assetScaleValue;
71 auto const actualOpt = tx.getAssetScale();
72 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetScale should be present";
74 EXPECT_TRUE(tx.hasAssetScale());
78 auto const& expected = transferFeeValue;
79 auto const actualOpt = tx.getTransferFee();
80 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfTransferFee should be present";
82 EXPECT_TRUE(tx.hasTransferFee());
86 auto const& expected = maximumAmountValue;
87 auto const actualOpt = tx.getMaximumAmount();
88 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMaximumAmount should be present";
90 EXPECT_TRUE(tx.hasMaximumAmount());
94 auto const& expected = mPTokenMetadataValue;
95 auto const actualOpt = tx.getMPTokenMetadata();
96 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMPTokenMetadata should be present";
98 EXPECT_TRUE(tx.hasMPTokenMetadata());
102 auto const& expected = domainIDValue;
103 auto const actualOpt = tx.getDomainID();
104 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
106 EXPECT_TRUE(tx.hasDomainID());
110 auto const& expected = mutableFlagsValue;
111 auto const actualOpt = tx.getMutableFlags();
112 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMutableFlags should be present";
114 EXPECT_TRUE(tx.hasMutableFlags());
121TEST(TransactionsMPTokenIssuanceCreateTests, BuilderFromStTxRoundTrip)
124 auto const [publicKey, secretKey] =
147 initialBuilder.setAssetScale(assetScaleValue);
148 initialBuilder.setTransferFee(transferFeeValue);
149 initialBuilder.setMaximumAmount(maximumAmountValue);
150 initialBuilder.setMPTokenMetadata(mPTokenMetadataValue);
151 initialBuilder.setDomainID(domainIDValue);
152 initialBuilder.setMutableFlags(mutableFlagsValue);
154 auto initialTx = initialBuilder.build(publicKey, secretKey);
159 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
162 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
165 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
166 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
167 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
172 auto const& expected = assetScaleValue;
173 auto const actualOpt = rebuiltTx.getAssetScale();
174 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetScale should be present";
179 auto const& expected = transferFeeValue;
180 auto const actualOpt = rebuiltTx.getTransferFee();
181 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfTransferFee should be present";
186 auto const& expected = maximumAmountValue;
187 auto const actualOpt = rebuiltTx.getMaximumAmount();
188 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMaximumAmount should be present";
193 auto const& expected = mPTokenMetadataValue;
194 auto const actualOpt = rebuiltTx.getMPTokenMetadata();
195 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMPTokenMetadata should be present";
200 auto const& expected = domainIDValue;
201 auto const actualOpt = rebuiltTx.getDomainID();
202 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
207 auto const& expected = mutableFlagsValue;
208 auto const actualOpt = rebuiltTx.getMutableFlags();
209 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfMutableFlags should be present";
244TEST(TransactionsMPTokenIssuanceCreateTests, OptionalFieldsReturnNullopt)
247 auto const [publicKey, secretKey] =
265 auto tx = builder.build(publicKey, secretKey);
268 EXPECT_FALSE(tx.hasAssetScale());
269 EXPECT_FALSE(tx.getAssetScale().has_value());
270 EXPECT_FALSE(tx.hasTransferFee());
271 EXPECT_FALSE(tx.getTransferFee().has_value());
272 EXPECT_FALSE(tx.hasMaximumAmount());
273 EXPECT_FALSE(tx.getMaximumAmount().has_value());
274 EXPECT_FALSE(tx.hasMPTokenMetadata());
275 EXPECT_FALSE(tx.getMPTokenMetadata().has_value());
276 EXPECT_FALSE(tx.hasDomainID());
277 EXPECT_FALSE(tx.getDomainID().has_value());
278 EXPECT_FALSE(tx.hasMutableFlags());
279 EXPECT_FALSE(tx.getMutableFlags().has_value());