19TEST(NFTokenPageTests, BuilderSettersRoundTrip)
32 previousTxnLgrSeqValue
43 auto const entry = builder.
build(index);
45 EXPECT_TRUE(entry.validate());
48 auto const& expected = nFTokensValue;
49 auto const actual = entry.getNFTokens();
54 auto const& expected = previousTxnIDValue;
55 auto const actual = entry.getPreviousTxnID();
60 auto const& expected = previousTxnLgrSeqValue;
61 auto const actual = entry.getPreviousTxnLgrSeq();
66 auto const& expected = previousPageMinValue;
67 auto const actualOpt = entry.getPreviousPageMin();
68 ASSERT_TRUE(actualOpt.has_value());
70 EXPECT_TRUE(entry.hasPreviousPageMin());
74 auto const& expected = nextPageMinValue;
75 auto const actualOpt = entry.getNextPageMin();
76 ASSERT_TRUE(actualOpt.has_value());
78 EXPECT_TRUE(entry.hasNextPageMin());
81 EXPECT_TRUE(entry.hasLedgerIndex());
82 auto const ledgerIndex = entry.getLedgerIndex();
83 ASSERT_TRUE(ledgerIndex.has_value());
84 EXPECT_EQ(*ledgerIndex, index);
85 EXPECT_EQ(entry.getKey(), index);
90TEST(NFTokenPageTests, BuilderFromSleRoundTrip)
102 sle->at(sfPreviousPageMin) = previousPageMinValue;
103 sle->at(sfNextPageMin) = nextPageMinValue;
104 sle->setFieldArray(sfNFTokens, nFTokensValue);
105 sle->at(sfPreviousTxnID) = previousTxnIDValue;
106 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
109 EXPECT_TRUE(builderFromSle.
validate());
111 auto const entryFromBuilder = builderFromSle.
build(index);
114 EXPECT_TRUE(entryFromBuilder.validate());
115 EXPECT_TRUE(entryFromSle.
validate());
118 auto const& expected = nFTokensValue;
121 auto const fromBuilder = entryFromBuilder.getNFTokens();
128 auto const& expected = previousTxnIDValue;
131 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
138 auto const& expected = previousTxnLgrSeqValue;
141 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
148 auto const& expected = previousPageMinValue;
151 auto const fromBuilderOpt = entryFromBuilder.getPreviousPageMin();
153 ASSERT_TRUE(fromSleOpt.has_value());
154 ASSERT_TRUE(fromBuilderOpt.has_value());
161 auto const& expected = nextPageMinValue;
164 auto const fromBuilderOpt = entryFromBuilder.getNextPageMin();
166 ASSERT_TRUE(fromSleOpt.has_value());
167 ASSERT_TRUE(fromBuilderOpt.has_value());
173 EXPECT_EQ(entryFromSle.
getKey(), index);
174 EXPECT_EQ(entryFromBuilder.getKey(), index);
214TEST(NFTokenPageTests, OptionalFieldsReturnNullopt)
225 previousTxnLgrSeqValue
228 auto const entry = builder.
build(index);
231 EXPECT_FALSE(entry.hasPreviousPageMin());
232 EXPECT_FALSE(entry.getPreviousPageMin().has_value());
233 EXPECT_FALSE(entry.hasNextPageMin());
234 EXPECT_FALSE(entry.getNextPageMin().has_value());
bool validate() const
Validate the ledger entry.
uint256 const & getKey() const
Get the key (index) of this ledger entry.
Derived & setLedgerIndex(uint256 const &value)
Set the ledger index.
Derived & setFlags(uint32_t value)
Set the flags.
bool validate() const
Validate the ledger entry.
Builder for NFTokenPage ledger entries.
NFTokenPageBuilder & setNextPageMin(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfNextPageMin (SoeOptional).
NFTokenPage build(uint256 const &index)
Build and return the completed NFTokenPage wrapper.
NFTokenPageBuilder & setPreviousPageMin(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Ledger entry-specific field setters.
Ledger Entry: NFTokenPage.
STArray const & getNFTokens() const
Get sfNFTokens (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_UINT256::type::value_type > getNextPageMin() const
Get sfNextPageMin (SoeOptional).
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousPageMin() const
Get sfPreviousPageMin (SoeOptional).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).