20TEST(TransactionsTrustSetTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
43 builder.setLimitAmount(limitAmountValue);
44 builder.setQualityIn(qualityInValue);
45 builder.setQualityOut(qualityOutValue);
47 auto tx = builder.build(publicKey, secretKey);
50 EXPECT_TRUE(tx.validate(reason)) << reason;
53 EXPECT_FALSE(tx.getSigningPubKey().empty());
54 EXPECT_TRUE(tx.hasTxnSignature());
57 EXPECT_EQ(tx.getAccount(), accountValue);
58 EXPECT_EQ(tx.getSequence(), sequenceValue);
59 EXPECT_EQ(tx.getFee(), feeValue);
64 auto const& expected = limitAmountValue;
65 auto const actualOpt = tx.getLimitAmount();
66 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfLimitAmount should be present";
68 EXPECT_TRUE(tx.hasLimitAmount());
72 auto const& expected = qualityInValue;
73 auto const actualOpt = tx.getQualityIn();
74 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfQualityIn should be present";
76 EXPECT_TRUE(tx.hasQualityIn());
80 auto const& expected = qualityOutValue;
81 auto const actualOpt = tx.getQualityOut();
82 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfQualityOut should be present";
84 EXPECT_TRUE(tx.hasQualityOut());
91TEST(TransactionsTrustSetTests, BuilderFromStTxRoundTrip)
94 auto const [publicKey, secretKey] =
114 initialBuilder.setLimitAmount(limitAmountValue);
115 initialBuilder.setQualityIn(qualityInValue);
116 initialBuilder.setQualityOut(qualityOutValue);
118 auto initialTx = initialBuilder.build(publicKey, secretKey);
123 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
126 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
129 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
130 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
131 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
136 auto const& expected = limitAmountValue;
137 auto const actualOpt = rebuiltTx.getLimitAmount();
138 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfLimitAmount should be present";
143 auto const& expected = qualityInValue;
144 auto const actualOpt = rebuiltTx.getQualityIn();
145 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfQualityIn should be present";
150 auto const& expected = qualityOutValue;
151 auto const actualOpt = rebuiltTx.getQualityOut();
152 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfQualityOut should be present";
187TEST(TransactionsTrustSetTests, OptionalFieldsReturnNullopt)
190 auto const [publicKey, secretKey] =
208 auto tx = builder.build(publicKey, secretKey);
211 EXPECT_FALSE(tx.hasLimitAmount());
212 EXPECT_FALSE(tx.getLimitAmount().has_value());
213 EXPECT_FALSE(tx.hasQualityIn());
214 EXPECT_FALSE(tx.getQualityIn().has_value());
215 EXPECT_FALSE(tx.hasQualityOut());
216 EXPECT_FALSE(tx.getQualityOut().has_value());