4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/STLedgerEntry.h>
9#include <xrpl/protocol_autogen/ledger_entries/XChainOwnedCreateAccountClaimID.h>
10#include <xrpl/protocol_autogen/ledger_entries/Ticket.h>
19TEST(XChainOwnedCreateAccountClaimIDTests, BuilderSettersRoundTrip)
34 xChainAccountCreateCountValue,
35 xChainCreateAccountAttestationsValue,
38 previousTxnLgrSeqValue
47 auto const entry = builder.
build(index);
49 EXPECT_TRUE(entry.validate());
52 auto const& expected = accountValue;
53 auto const actual = entry.getAccount();
58 auto const& expected = xChainBridgeValue;
59 auto const actual = entry.getXChainBridge();
64 auto const& expected = xChainAccountCreateCountValue;
65 auto const actual = entry.getXChainAccountCreateCount();
70 auto const& expected = xChainCreateAccountAttestationsValue;
71 auto const actual = entry.getXChainCreateAccountAttestations();
76 auto const& expected = ownerNodeValue;
77 auto const actual = entry.getOwnerNode();
82 auto const& expected = previousTxnIDValue;
83 auto const actual = entry.getPreviousTxnID();
88 auto const& expected = previousTxnLgrSeqValue;
89 auto const actual = entry.getPreviousTxnLgrSeq();
93 EXPECT_TRUE(entry.hasLedgerIndex());
94 auto const ledgerIndex = entry.getLedgerIndex();
95 ASSERT_TRUE(ledgerIndex.has_value());
96 EXPECT_EQ(*ledgerIndex, index);
97 EXPECT_EQ(entry.getKey(), index);
102TEST(XChainOwnedCreateAccountClaimIDTests, BuilderFromSleRoundTrip)
116 sle->at(sfAccount) = accountValue;
117 sle->at(sfXChainBridge) = xChainBridgeValue;
118 sle->at(sfXChainAccountCreateCount) = xChainAccountCreateCountValue;
119 sle->setFieldArray(sfXChainCreateAccountAttestations, xChainCreateAccountAttestationsValue);
120 sle->at(sfOwnerNode) = ownerNodeValue;
121 sle->at(sfPreviousTxnID) = previousTxnIDValue;
122 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
125 EXPECT_TRUE(builderFromSle.
validate());
127 auto const entryFromBuilder = builderFromSle.
build(index);
130 EXPECT_TRUE(entryFromBuilder.validate());
131 EXPECT_TRUE(entryFromSle.
validate());
134 auto const& expected = accountValue;
136 auto const fromSle = entryFromSle.
getAccount();
137 auto const fromBuilder = entryFromBuilder.getAccount();
144 auto const& expected = xChainBridgeValue;
147 auto const fromBuilder = entryFromBuilder.getXChainBridge();
154 auto const& expected = xChainAccountCreateCountValue;
157 auto const fromBuilder = entryFromBuilder.getXChainAccountCreateCount();
164 auto const& expected = xChainCreateAccountAttestationsValue;
167 auto const fromBuilder = entryFromBuilder.getXChainCreateAccountAttestations();
170 expectEqualField(expected, fromBuilder,
"sfXChainCreateAccountAttestations");
174 auto const& expected = ownerNodeValue;
177 auto const fromBuilder = entryFromBuilder.getOwnerNode();
184 auto const& expected = previousTxnIDValue;
187 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
194 auto const& expected = previousTxnLgrSeqValue;
197 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
203 EXPECT_EQ(entryFromSle.
getKey(), index);
204 EXPECT_EQ(entryFromBuilder.getKey(), index);
208TEST(XChainOwnedCreateAccountClaimIDTests, WrapperThrowsOnWrongEntryType)
221 auto wrongEntry = wrongBuilder.
build(index);
227TEST(XChainOwnedCreateAccountClaimIDTests, BuilderThrowsOnWrongEntryType)
238 auto wrongEntry = wrongBuilder.
build(index);
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.
Builder for XChainOwnedCreateAccountClaimID ledger entries.
XChainOwnedCreateAccountClaimID build(uint256 const &index)
Build and return the completed XChainOwnedCreateAccountClaimID wrapper.
Ledger Entry: XChainOwnedCreateAccountClaimID.
static constexpr LedgerEntryType entryType
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (SoeRequired).
SF_XCHAIN_BRIDGE::type::value_type getXChainBridge() const
Get sfXChainBridge (SoeRequired).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
SF_UINT64::type::value_type getXChainAccountCreateCount() const
Get sfXChainAccountCreateCount (SoeRequired).
STArray const & getXChainCreateAccountAttestations() const
Get sfXChainCreateAccountAttestations (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
TEST(AccountRootTests, BuilderSettersRoundTrip)
UInt32Value canonical_UINT32()
AccountValue canonical_ACCOUNT()
UInt256Value canonical_UINT256()
XChainBridgeValue canonical_XCHAIN_BRIDGE()
STArray canonical_ARRAY()
UInt64Value canonical_UINT64()
void expectEqualField(T const &expected, T const &actual, char const *fieldName)