20TEST(TransactionsOracleSetTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
41 oracleDocumentIDValue,
49 builder.setProvider(providerValue);
50 builder.setURI(uRIValue);
51 builder.setAssetClass(assetClassValue);
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 = oracleDocumentIDValue;
70 auto const actual = tx.getOracleDocumentID();
75 auto const& expected = lastUpdateTimeValue;
76 auto const actual = tx.getLastUpdateTime();
81 auto const& expected = priceDataSeriesValue;
82 auto const actual = tx.getPriceDataSeries();
88 auto const& expected = providerValue;
89 auto const actualOpt = tx.getProvider();
90 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfProvider should be present";
92 EXPECT_TRUE(tx.hasProvider());
96 auto const& expected = uRIValue;
97 auto const actualOpt = tx.getURI();
98 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfURI should be present";
100 EXPECT_TRUE(tx.hasURI());
104 auto const& expected = assetClassValue;
105 auto const actualOpt = tx.getAssetClass();
106 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetClass should be present";
108 EXPECT_TRUE(tx.hasAssetClass());
115TEST(TransactionsOracleSetTests, BuilderFromStTxRoundTrip)
118 auto const [publicKey, secretKey] =
137 oracleDocumentIDValue,
139 priceDataSeriesValue,
144 initialBuilder.setProvider(providerValue);
145 initialBuilder.setURI(uRIValue);
146 initialBuilder.setAssetClass(assetClassValue);
148 auto initialTx = initialBuilder.build(publicKey, secretKey);
153 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
156 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
159 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
160 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
161 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
165 auto const& expected = oracleDocumentIDValue;
166 auto const actual = rebuiltTx.getOracleDocumentID();
171 auto const& expected = lastUpdateTimeValue;
172 auto const actual = rebuiltTx.getLastUpdateTime();
177 auto const& expected = priceDataSeriesValue;
178 auto const actual = rebuiltTx.getPriceDataSeries();
184 auto const& expected = providerValue;
185 auto const actualOpt = rebuiltTx.getProvider();
186 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfProvider should be present";
191 auto const& expected = uRIValue;
192 auto const actualOpt = rebuiltTx.getURI();
193 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfURI should be present";
198 auto const& expected = assetClassValue;
199 auto const actualOpt = rebuiltTx.getAssetClass();
200 ASSERT_TRUE(actualOpt.has_value()) <<
"Optional field sfAssetClass should be present";
235TEST(TransactionsOracleSetTests, OptionalFieldsReturnNullopt)
238 auto const [publicKey, secretKey] =
253 oracleDocumentIDValue,
255 priceDataSeriesValue,
262 auto tx = builder.build(publicKey, secretKey);
265 EXPECT_FALSE(tx.hasProvider());
266 EXPECT_FALSE(tx.getProvider().has_value());
267 EXPECT_FALSE(tx.hasURI());
268 EXPECT_FALSE(tx.getURI().has_value());
269 EXPECT_FALSE(tx.hasAssetClass());
270 EXPECT_FALSE(tx.getAssetClass().has_value());