20TEST(TransactionsEscrowCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
57 auto tx = builder.
build(publicKey, secretKey);
60 EXPECT_TRUE(tx.validate(reason)) << reason;
63 EXPECT_FALSE(tx.getSigningPubKey().empty());
64 EXPECT_TRUE(tx.hasTxnSignature());
67 EXPECT_EQ(tx.getAccount(), accountValue);
68 EXPECT_EQ(tx.getSequence(), sequenceValue);
69 EXPECT_EQ(tx.getFee(), feeValue);
73 auto const& expected = destinationValue;
74 auto const actual = tx.getDestination();
79 auto const& expected = amountValue;
80 auto const actual = tx.getAmount();
86 auto const& expected = destinationTagValue;
87 auto const actualOpt = tx.getDestinationTag();
88 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
90 EXPECT_TRUE(tx.hasDestinationTag());
94 auto const& expected = conditionValue;
95 auto const actualOpt = tx.getCondition();
96 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCondition should be present";
98 EXPECT_TRUE(tx.hasCondition());
102 auto const& expected = cancelAfterValue;
103 auto const actualOpt = tx.getCancelAfter();
104 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
106 EXPECT_TRUE(tx.hasCancelAfter());
110 auto const& expected = finishAfterValue;
111 auto const actualOpt = tx.getFinishAfter();
112 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfFinishAfter should be present";
114 EXPECT_TRUE(tx.hasFinishAfter());
118 auto const& expected = bytecodeValue;
119 auto const actualOpt = tx.getBytecode();
120 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfBytecode should be present";
122 EXPECT_TRUE(tx.hasBytecode());
126 auto const& expected = dataValue;
127 auto const actualOpt = tx.getData();
128 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
130 EXPECT_TRUE(tx.hasData());
137TEST(TransactionsEscrowCreateTests, BuilderFromStTxRoundTrip)
140 auto const [publicKey, secretKey] =
172 initialBuilder.
setData(dataValue);
174 auto initialTx = initialBuilder.
build(publicKey, secretKey);
179 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
182 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
185 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
186 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
187 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
191 auto const& expected = destinationValue;
192 auto const actual = rebuiltTx.getDestination();
197 auto const& expected = amountValue;
198 auto const actual = rebuiltTx.getAmount();
204 auto const& expected = destinationTagValue;
205 auto const actualOpt = rebuiltTx.getDestinationTag();
206 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
211 auto const& expected = conditionValue;
212 auto const actualOpt = rebuiltTx.getCondition();
213 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCondition should be present";
218 auto const& expected = cancelAfterValue;
219 auto const actualOpt = rebuiltTx.getCancelAfter();
220 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
225 auto const& expected = finishAfterValue;
226 auto const actualOpt = rebuiltTx.getFinishAfter();
227 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfFinishAfter should be present";
232 auto const& expected = bytecodeValue;
233 auto const actualOpt = rebuiltTx.getBytecode();
234 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfBytecode should be present";
239 auto const& expected = dataValue;
240 auto const actualOpt = rebuiltTx.getData();
241 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfData should be present";
276TEST(TransactionsEscrowCreateTests, OptionalFieldsReturnNullopt)
279 auto const [publicKey, secretKey] =
301 auto tx = builder.
build(publicKey, secretKey);
304 EXPECT_FALSE(tx.hasDestinationTag());
305 EXPECT_FALSE(tx.getDestinationTag().has_value());
306 EXPECT_FALSE(tx.hasCondition());
307 EXPECT_FALSE(tx.getCondition().has_value());
308 EXPECT_FALSE(tx.hasCancelAfter());
309 EXPECT_FALSE(tx.getCancelAfter().has_value());
310 EXPECT_FALSE(tx.hasFinishAfter());
311 EXPECT_FALSE(tx.getFinishAfter().has_value());
312 EXPECT_FALSE(tx.hasBytecode());
313 EXPECT_FALSE(tx.getBytecode().has_value());
314 EXPECT_FALSE(tx.hasData());
315 EXPECT_FALSE(tx.getData().has_value());