20TEST(TransactionsOfferCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
47 builder.setExpiration(expirationValue);
48 builder.setOfferSequence(offerSequenceValue);
49 builder.setDomainID(domainIDValue);
51 auto tx = builder.build(publicKey, secretKey);
54 EXPECT_TRUE(tx.validate(reason)) << reason;
57 EXPECT_FALSE(tx.getSigningPubKey().empty());
58 EXPECT_TRUE(tx.hasTxnSignature());
61 EXPECT_EQ(tx.getAccount(), accountValue);
62 EXPECT_EQ(tx.getSequence(), sequenceValue);
63 EXPECT_EQ(tx.getFee(), feeValue);
67 auto const& expected = takerPaysValue;
68 auto const actual = tx.getTakerPays();
73 auto const& expected = takerGetsValue;
74 auto const actual = tx.getTakerGets();
80 auto const& expected = expirationValue;
81 auto const actualOpt = tx.getExpiration();
82 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfExpiration should be present";
84 EXPECT_TRUE(tx.hasExpiration());
88 auto const& expected = offerSequenceValue;
89 auto const actualOpt = tx.getOfferSequence();
90 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfOfferSequence should be present";
92 EXPECT_TRUE(tx.hasOfferSequence());
96 auto const& expected = domainIDValue;
97 auto const actualOpt = tx.getDomainID();
98 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
100 EXPECT_TRUE(tx.hasDomainID());
107TEST(TransactionsOfferCreateTests, BuilderFromStTxRoundTrip)
110 auto const [publicKey, secretKey] =
134 initialBuilder.setExpiration(expirationValue);
135 initialBuilder.setOfferSequence(offerSequenceValue);
136 initialBuilder.setDomainID(domainIDValue);
138 auto initialTx = initialBuilder.build(publicKey, secretKey);
143 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
146 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
149 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
150 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
151 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
155 auto const& expected = takerPaysValue;
156 auto const actual = rebuiltTx.getTakerPays();
161 auto const& expected = takerGetsValue;
162 auto const actual = rebuiltTx.getTakerGets();
168 auto const& expected = expirationValue;
169 auto const actualOpt = rebuiltTx.getExpiration();
170 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfExpiration should be present";
175 auto const& expected = offerSequenceValue;
176 auto const actualOpt = rebuiltTx.getOfferSequence();
177 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfOfferSequence should be present";
182 auto const& expected = domainIDValue;
183 auto const actualOpt = rebuiltTx.getDomainID();
184 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDomainID should be present";
219TEST(TransactionsOfferCreateTests, OptionalFieldsReturnNullopt)
222 auto const [publicKey, secretKey] =
244 auto tx = builder.build(publicKey, secretKey);
247 EXPECT_FALSE(tx.hasExpiration());
248 EXPECT_FALSE(tx.getExpiration().has_value());
249 EXPECT_FALSE(tx.hasOfferSequence());
250 EXPECT_FALSE(tx.getOfferSequence().has_value());
251 EXPECT_FALSE(tx.hasDomainID());
252 EXPECT_FALSE(tx.getDomainID().has_value());