20TEST(TransactionsPaymentChannelCreateTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
50 builder.setCancelAfter(cancelAfterValue);
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();
81 auto const& expected = settleDelayValue;
82 auto const actual = tx.getSettleDelay();
87 auto const& expected = publicKeyValue;
88 auto const actual = tx.getPublicKey();
94 auto const& expected = cancelAfterValue;
95 auto const actualOpt = tx.getCancelAfter();
96 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
98 EXPECT_TRUE(tx.hasCancelAfter());
102 auto const& expected = destinationTagValue;
103 auto const actualOpt = tx.getDestinationTag();
104 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
106 EXPECT_TRUE(tx.hasDestinationTag());
113TEST(TransactionsPaymentChannelCreateTests, BuilderFromStTxRoundTrip)
116 auto const [publicKey, secretKey] =
143 initialBuilder.setCancelAfter(cancelAfterValue);
144 initialBuilder.setDestinationTag(destinationTagValue);
146 auto initialTx = initialBuilder.build(publicKey, secretKey);
151 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
154 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
157 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
158 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
159 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
163 auto const& expected = destinationValue;
164 auto const actual = rebuiltTx.getDestination();
169 auto const& expected = amountValue;
170 auto const actual = rebuiltTx.getAmount();
175 auto const& expected = settleDelayValue;
176 auto const actual = rebuiltTx.getSettleDelay();
181 auto const& expected = publicKeyValue;
182 auto const actual = rebuiltTx.getPublicKey();
188 auto const& expected = cancelAfterValue;
189 auto const actualOpt = rebuiltTx.getCancelAfter();
190 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfCancelAfter should be present";
195 auto const& expected = destinationTagValue;
196 auto const actualOpt = rebuiltTx.getDestinationTag();
197 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfDestinationTag should be present";
232TEST(TransactionsPaymentChannelCreateTests, OptionalFieldsReturnNullopt)
235 auto const [publicKey, secretKey] =
261 auto tx = builder.build(publicKey, secretKey);
264 EXPECT_FALSE(tx.hasCancelAfter());
265 EXPECT_FALSE(tx.getCancelAfter().has_value());
266 EXPECT_FALSE(tx.hasDestinationTag());
267 EXPECT_FALSE(tx.getDestinationTag().has_value());