19TEST(FeeSettingsTests, BuilderSettersRoundTrip)
57 auto const entry = builder.
build(index);
59 EXPECT_TRUE(entry.validate());
62 auto const& expected = baseFeeValue;
63 auto const actualOpt = entry.getBaseFee();
64 ASSERT_TRUE(actualOpt.has_value());
66 EXPECT_TRUE(entry.hasBaseFee());
70 auto const& expected = referenceFeeUnitsValue;
71 auto const actualOpt = entry.getReferenceFeeUnits();
72 ASSERT_TRUE(actualOpt.has_value());
74 EXPECT_TRUE(entry.hasReferenceFeeUnits());
78 auto const& expected = reserveBaseValue;
79 auto const actualOpt = entry.getReserveBase();
80 ASSERT_TRUE(actualOpt.has_value());
82 EXPECT_TRUE(entry.hasReserveBase());
86 auto const& expected = reserveIncrementValue;
87 auto const actualOpt = entry.getReserveIncrement();
88 ASSERT_TRUE(actualOpt.has_value());
90 EXPECT_TRUE(entry.hasReserveIncrement());
94 auto const& expected = baseFeeDropsValue;
95 auto const actualOpt = entry.getBaseFeeDrops();
96 ASSERT_TRUE(actualOpt.has_value());
98 EXPECT_TRUE(entry.hasBaseFeeDrops());
102 auto const& expected = reserveBaseDropsValue;
103 auto const actualOpt = entry.getReserveBaseDrops();
104 ASSERT_TRUE(actualOpt.has_value());
106 EXPECT_TRUE(entry.hasReserveBaseDrops());
110 auto const& expected = reserveIncrementDropsValue;
111 auto const actualOpt = entry.getReserveIncrementDrops();
112 ASSERT_TRUE(actualOpt.has_value());
114 EXPECT_TRUE(entry.hasReserveIncrementDrops());
118 auto const& expected = gasLimitValue;
119 auto const actualOpt = entry.getGasLimit();
120 ASSERT_TRUE(actualOpt.has_value());
122 EXPECT_TRUE(entry.hasGasLimit());
126 auto const& expected = bytecodeSizeLimitValue;
127 auto const actualOpt = entry.getBytecodeSizeLimit();
128 ASSERT_TRUE(actualOpt.has_value());
130 EXPECT_TRUE(entry.hasBytecodeSizeLimit());
134 auto const& expected = gasPriceValue;
135 auto const actualOpt = entry.getGasPrice();
136 ASSERT_TRUE(actualOpt.has_value());
138 EXPECT_TRUE(entry.hasGasPrice());
142 auto const& expected = previousTxnIDValue;
143 auto const actualOpt = entry.getPreviousTxnID();
144 ASSERT_TRUE(actualOpt.has_value());
146 EXPECT_TRUE(entry.hasPreviousTxnID());
150 auto const& expected = previousTxnLgrSeqValue;
151 auto const actualOpt = entry.getPreviousTxnLgrSeq();
152 ASSERT_TRUE(actualOpt.has_value());
154 EXPECT_TRUE(entry.hasPreviousTxnLgrSeq());
157 EXPECT_TRUE(entry.hasLedgerIndex());
158 auto const ledgerIndex = entry.getLedgerIndex();
159 ASSERT_TRUE(ledgerIndex.has_value());
160 EXPECT_EQ(*ledgerIndex, index);
161 EXPECT_EQ(entry.getKey(), index);
166TEST(FeeSettingsTests, BuilderFromSleRoundTrip)
185 sle->at(sfBaseFee) = baseFeeValue;
186 sle->at(sfReferenceFeeUnits) = referenceFeeUnitsValue;
187 sle->at(sfReserveBase) = reserveBaseValue;
188 sle->at(sfReserveIncrement) = reserveIncrementValue;
189 sle->at(sfBaseFeeDrops) = baseFeeDropsValue;
190 sle->at(sfReserveBaseDrops) = reserveBaseDropsValue;
191 sle->at(sfReserveIncrementDrops) = reserveIncrementDropsValue;
192 sle->at(sfGasLimit) = gasLimitValue;
193 sle->at(sfBytecodeSizeLimit) = bytecodeSizeLimitValue;
194 sle->at(sfGasPrice) = gasPriceValue;
195 sle->at(sfPreviousTxnID) = previousTxnIDValue;
196 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
199 EXPECT_TRUE(builderFromSle.
validate());
201 auto const entryFromBuilder = builderFromSle.
build(index);
204 EXPECT_TRUE(entryFromBuilder.validate());
205 EXPECT_TRUE(entryFromSle.
validate());
208 auto const& expected = baseFeeValue;
210 auto const fromSleOpt = entryFromSle.
getBaseFee();
211 auto const fromBuilderOpt = entryFromBuilder.getBaseFee();
213 ASSERT_TRUE(fromSleOpt.has_value());
214 ASSERT_TRUE(fromBuilderOpt.has_value());
221 auto const& expected = referenceFeeUnitsValue;
224 auto const fromBuilderOpt = entryFromBuilder.getReferenceFeeUnits();
226 ASSERT_TRUE(fromSleOpt.has_value());
227 ASSERT_TRUE(fromBuilderOpt.has_value());
234 auto const& expected = reserveBaseValue;
237 auto const fromBuilderOpt = entryFromBuilder.getReserveBase();
239 ASSERT_TRUE(fromSleOpt.has_value());
240 ASSERT_TRUE(fromBuilderOpt.has_value());
247 auto const& expected = reserveIncrementValue;
250 auto const fromBuilderOpt = entryFromBuilder.getReserveIncrement();
252 ASSERT_TRUE(fromSleOpt.has_value());
253 ASSERT_TRUE(fromBuilderOpt.has_value());
260 auto const& expected = baseFeeDropsValue;
263 auto const fromBuilderOpt = entryFromBuilder.getBaseFeeDrops();
265 ASSERT_TRUE(fromSleOpt.has_value());
266 ASSERT_TRUE(fromBuilderOpt.has_value());
273 auto const& expected = reserveBaseDropsValue;
276 auto const fromBuilderOpt = entryFromBuilder.getReserveBaseDrops();
278 ASSERT_TRUE(fromSleOpt.has_value());
279 ASSERT_TRUE(fromBuilderOpt.has_value());
286 auto const& expected = reserveIncrementDropsValue;
289 auto const fromBuilderOpt = entryFromBuilder.getReserveIncrementDrops();
291 ASSERT_TRUE(fromSleOpt.has_value());
292 ASSERT_TRUE(fromBuilderOpt.has_value());
299 auto const& expected = gasLimitValue;
301 auto const fromSleOpt = entryFromSle.
getGasLimit();
302 auto const fromBuilderOpt = entryFromBuilder.getGasLimit();
304 ASSERT_TRUE(fromSleOpt.has_value());
305 ASSERT_TRUE(fromBuilderOpt.has_value());
312 auto const& expected = bytecodeSizeLimitValue;
315 auto const fromBuilderOpt = entryFromBuilder.getBytecodeSizeLimit();
317 ASSERT_TRUE(fromSleOpt.has_value());
318 ASSERT_TRUE(fromBuilderOpt.has_value());
325 auto const& expected = gasPriceValue;
327 auto const fromSleOpt = entryFromSle.
getGasPrice();
328 auto const fromBuilderOpt = entryFromBuilder.getGasPrice();
330 ASSERT_TRUE(fromSleOpt.has_value());
331 ASSERT_TRUE(fromBuilderOpt.has_value());
338 auto const& expected = previousTxnIDValue;
341 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnID();
343 ASSERT_TRUE(fromSleOpt.has_value());
344 ASSERT_TRUE(fromBuilderOpt.has_value());
351 auto const& expected = previousTxnLgrSeqValue;
354 auto const fromBuilderOpt = entryFromBuilder.getPreviousTxnLgrSeq();
356 ASSERT_TRUE(fromSleOpt.has_value());
357 ASSERT_TRUE(fromBuilderOpt.has_value());
363 EXPECT_EQ(entryFromSle.
getKey(), index);
364 EXPECT_EQ(entryFromBuilder.getKey(), index);
404TEST(FeeSettingsTests, OptionalFieldsReturnNullopt)
412 auto const entry = builder.
build(index);
415 EXPECT_FALSE(entry.hasBaseFee());
416 EXPECT_FALSE(entry.getBaseFee().has_value());
417 EXPECT_FALSE(entry.hasReferenceFeeUnits());
418 EXPECT_FALSE(entry.getReferenceFeeUnits().has_value());
419 EXPECT_FALSE(entry.hasReserveBase());
420 EXPECT_FALSE(entry.getReserveBase().has_value());
421 EXPECT_FALSE(entry.hasReserveIncrement());
422 EXPECT_FALSE(entry.getReserveIncrement().has_value());
423 EXPECT_FALSE(entry.hasBaseFeeDrops());
424 EXPECT_FALSE(entry.getBaseFeeDrops().has_value());
425 EXPECT_FALSE(entry.hasReserveBaseDrops());
426 EXPECT_FALSE(entry.getReserveBaseDrops().has_value());
427 EXPECT_FALSE(entry.hasReserveIncrementDrops());
428 EXPECT_FALSE(entry.getReserveIncrementDrops().has_value());
429 EXPECT_FALSE(entry.hasGasLimit());
430 EXPECT_FALSE(entry.getGasLimit().has_value());
431 EXPECT_FALSE(entry.hasBytecodeSizeLimit());
432 EXPECT_FALSE(entry.getBytecodeSizeLimit().has_value());
433 EXPECT_FALSE(entry.hasGasPrice());
434 EXPECT_FALSE(entry.getGasPrice().has_value());
435 EXPECT_FALSE(entry.hasPreviousTxnID());
436 EXPECT_FALSE(entry.getPreviousTxnID().has_value());
437 EXPECT_FALSE(entry.hasPreviousTxnLgrSeq());
438 EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value());