20TEST(TransactionsEscrowCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
48 builder.setCondition(conditionValue);
49 builder.setCancelAfter(cancelAfterValue);
50 builder.setFinishAfter(finishAfterValue);
51 builder.setDestinationTag(destinationTagValue);
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);
69 auto const& expected = destinationValue;
70 auto const actual = tx.getDestination();
75 auto const& expected = amountValue;
76 auto const actual = tx.getAmount();
82 auto const& expected = conditionValue;
83 auto const actualOpt = tx.getCondition();
84 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCondition should be present";
86 EXPECT_TRUE(tx.hasCondition());
90 auto const& expected = cancelAfterValue;
91 auto const actualOpt = tx.getCancelAfter();
92 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
94 EXPECT_TRUE(tx.hasCancelAfter());
98 auto const& expected = finishAfterValue;
99 auto const actualOpt = tx.getFinishAfter();
100 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfFinishAfter should be present";
102 EXPECT_TRUE(tx.hasFinishAfter());
106 auto const& expected = destinationTagValue;
107 auto const actualOpt = tx.getDestinationTag();
108 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
110 EXPECT_TRUE(tx.hasDestinationTag());
117TEST(TransactionsEscrowCreateTests, BuilderFromStTxRoundTrip)
120 auto const [publicKey, secretKey] =
145 initialBuilder.setCondition(conditionValue);
146 initialBuilder.setCancelAfter(cancelAfterValue);
147 initialBuilder.setFinishAfter(finishAfterValue);
148 initialBuilder.setDestinationTag(destinationTagValue);
150 auto initialTx = initialBuilder.build(publicKey, secretKey);
155 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
158 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
161 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
162 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
163 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
167 auto const& expected = destinationValue;
168 auto const actual = rebuiltTx.getDestination();
173 auto const& expected = amountValue;
174 auto const actual = rebuiltTx.getAmount();
180 auto const& expected = conditionValue;
181 auto const actualOpt = rebuiltTx.getCondition();
182 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCondition should be present";
187 auto const& expected = cancelAfterValue;
188 auto const actualOpt = rebuiltTx.getCancelAfter();
189 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
194 auto const& expected = finishAfterValue;
195 auto const actualOpt = rebuiltTx.getFinishAfter();
196 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfFinishAfter should be present";
201 auto const& expected = destinationTagValue;
202 auto const actualOpt = rebuiltTx.getDestinationTag();
203 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
238TEST(TransactionsEscrowCreateTests, OptionalFieldsReturnNullopt)
241 auto const [publicKey, secretKey] =
263 auto tx = builder.build(publicKey, secretKey);
266 EXPECT_FALSE(tx.hasCondition());
267 EXPECT_FALSE(tx.getCondition().has_value());
268 EXPECT_FALSE(tx.hasCancelAfter());
269 EXPECT_FALSE(tx.getCancelAfter().has_value());
270 EXPECT_FALSE(tx.hasFinishAfter());
271 EXPECT_FALSE(tx.getFinishAfter().has_value());
272 EXPECT_FALSE(tx.hasDestinationTag());
273 EXPECT_FALSE(tx.getDestinationTag().has_value());