4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/STLedgerEntry.h>
9#include <xrpl/protocol_autogen/ledger_entries/Ticket.h>
10#include <xrpl/protocol_autogen/ledger_entries/Check.h>
19TEST(TicketTests, BuilderSettersRoundTrip)
34 previousTxnLgrSeqValue
43 auto const entry = builder.
build(index);
45 EXPECT_TRUE(entry.validate());
48 auto const& expected = accountValue;
49 auto const actual = entry.getAccount();
54 auto const& expected = ownerNodeValue;
55 auto const actual = entry.getOwnerNode();
60 auto const& expected = ticketSequenceValue;
61 auto const actual = entry.getTicketSequence();
66 auto const& expected = previousTxnIDValue;
67 auto const actual = entry.getPreviousTxnID();
72 auto const& expected = previousTxnLgrSeqValue;
73 auto const actual = entry.getPreviousTxnLgrSeq();
77 EXPECT_TRUE(entry.hasLedgerIndex());
78 auto const ledgerIndex = entry.getLedgerIndex();
79 ASSERT_TRUE(ledgerIndex.has_value());
80 EXPECT_EQ(*ledgerIndex, index);
81 EXPECT_EQ(entry.getKey(), index);
86TEST(TicketTests, BuilderFromSleRoundTrip)
98 sle->at(sfAccount) = accountValue;
99 sle->at(sfOwnerNode) = ownerNodeValue;
100 sle->at(sfTicketSequence) = ticketSequenceValue;
101 sle->at(sfPreviousTxnID) = previousTxnIDValue;
102 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
105 EXPECT_TRUE(builderFromSle.
validate());
107 auto const entryFromBuilder = builderFromSle.
build(index);
110 EXPECT_TRUE(entryFromBuilder.validate());
111 EXPECT_TRUE(entryFromSle.
validate());
114 auto const& expected = accountValue;
116 auto const fromSle = entryFromSle.
getAccount();
117 auto const fromBuilder = entryFromBuilder.getAccount();
124 auto const& expected = ownerNodeValue;
127 auto const fromBuilder = entryFromBuilder.getOwnerNode();
134 auto const& expected = ticketSequenceValue;
137 auto const fromBuilder = entryFromBuilder.getTicketSequence();
144 auto const& expected = previousTxnIDValue;
147 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
154 auto const& expected = previousTxnLgrSeqValue;
157 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
163 EXPECT_EQ(entryFromSle.
getKey(), index);
164 EXPECT_EQ(entryFromBuilder.getKey(), index);
168TEST(TicketTests, WrapperThrowsOnWrongEntryType)
184 auto wrongEntry = wrongBuilder.
build(index);
190TEST(TicketTests, BuilderThrowsOnWrongEntryType)
204 auto wrongEntry = wrongBuilder.
build(index);
Builder for Check ledger entries.
Check build(uint256 const &index)
Build and return the completed Check wrapper.
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 Ticket ledger entries.
Ticket build(uint256 const &index)
Build and return the completed Ticket wrapper.
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
static constexpr LedgerEntryType entryType
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (SoeRequired).
SF_UINT32::type::value_type getTicketSequence() const
Get sfTicketSequence (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
TEST(AccountRootTests, BuilderSettersRoundTrip)
UInt32Value canonical_UINT32()
AccountValue canonical_ACCOUNT()
UInt256Value canonical_UINT256()
AmountValue canonical_AMOUNT()
UInt64Value canonical_UINT64()
void expectEqualField(T const &expected, T const &actual, char const *fieldName)