4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/STLedgerEntry.h>
9#include <xrpl/protocol_autogen/ledger_entries/XChainOwnedClaimID.h>
10#include <xrpl/protocol_autogen/ledger_entries/Ticket.h>
19TEST(XChainOwnedClaimIDTests, BuilderSettersRoundTrip)
37 otherChainSourceValue,
38 xChainClaimAttestationsValue,
42 previousTxnLgrSeqValue
51 auto const entry = builder.
build(index);
53 EXPECT_TRUE(entry.validate());
56 auto const& expected = accountValue;
57 auto const actual = entry.getAccount();
62 auto const& expected = xChainBridgeValue;
63 auto const actual = entry.getXChainBridge();
68 auto const& expected = xChainClaimIDValue;
69 auto const actual = entry.getXChainClaimID();
74 auto const& expected = otherChainSourceValue;
75 auto const actual = entry.getOtherChainSource();
80 auto const& expected = xChainClaimAttestationsValue;
81 auto const actual = entry.getXChainClaimAttestations();
86 auto const& expected = signatureRewardValue;
87 auto const actual = entry.getSignatureReward();
92 auto const& expected = ownerNodeValue;
93 auto const actual = entry.getOwnerNode();
98 auto const& expected = previousTxnIDValue;
99 auto const actual = entry.getPreviousTxnID();
104 auto const& expected = previousTxnLgrSeqValue;
105 auto const actual = entry.getPreviousTxnLgrSeq();
109 EXPECT_TRUE(entry.hasLedgerIndex());
110 auto const ledgerIndex = entry.getLedgerIndex();
111 ASSERT_TRUE(ledgerIndex.has_value());
112 EXPECT_EQ(*ledgerIndex, index);
113 EXPECT_EQ(entry.getKey(), index);
118TEST(XChainOwnedClaimIDTests, BuilderFromSleRoundTrip)
134 sle->at(sfAccount) = accountValue;
135 sle->at(sfXChainBridge) = xChainBridgeValue;
136 sle->at(sfXChainClaimID) = xChainClaimIDValue;
137 sle->at(sfOtherChainSource) = otherChainSourceValue;
138 sle->setFieldArray(sfXChainClaimAttestations, xChainClaimAttestationsValue);
139 sle->at(sfSignatureReward) = signatureRewardValue;
140 sle->at(sfOwnerNode) = ownerNodeValue;
141 sle->at(sfPreviousTxnID) = previousTxnIDValue;
142 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
145 EXPECT_TRUE(builderFromSle.
validate());
147 auto const entryFromBuilder = builderFromSle.
build(index);
150 EXPECT_TRUE(entryFromBuilder.validate());
151 EXPECT_TRUE(entryFromSle.
validate());
154 auto const& expected = accountValue;
156 auto const fromSle = entryFromSle.
getAccount();
157 auto const fromBuilder = entryFromBuilder.getAccount();
164 auto const& expected = xChainBridgeValue;
167 auto const fromBuilder = entryFromBuilder.getXChainBridge();
174 auto const& expected = xChainClaimIDValue;
177 auto const fromBuilder = entryFromBuilder.getXChainClaimID();
184 auto const& expected = otherChainSourceValue;
187 auto const fromBuilder = entryFromBuilder.getOtherChainSource();
194 auto const& expected = xChainClaimAttestationsValue;
197 auto const fromBuilder = entryFromBuilder.getXChainClaimAttestations();
204 auto const& expected = signatureRewardValue;
207 auto const fromBuilder = entryFromBuilder.getSignatureReward();
214 auto const& expected = ownerNodeValue;
217 auto const fromBuilder = entryFromBuilder.getOwnerNode();
224 auto const& expected = previousTxnIDValue;
227 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
234 auto const& expected = previousTxnLgrSeqValue;
237 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
243 EXPECT_EQ(entryFromSle.
getKey(), index);
244 EXPECT_EQ(entryFromBuilder.getKey(), index);
248TEST(XChainOwnedClaimIDTests, WrapperThrowsOnWrongEntryType)
261 auto wrongEntry = wrongBuilder.
build(index);
267TEST(XChainOwnedClaimIDTests, BuilderThrowsOnWrongEntryType)
278 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 XChainOwnedClaimID ledger entries.
XChainOwnedClaimID build(uint256 const &index)
Build and return the completed XChainOwnedClaimID wrapper.
Ledger Entry: XChainOwnedClaimID.
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (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 getXChainClaimID() const
Get sfXChainClaimID (SoeRequired).
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (SoeRequired).
SF_ACCOUNT::type::value_type getOtherChainSource() const
Get sfOtherChainSource (SoeRequired).
static constexpr LedgerEntryType entryType
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_AMOUNT::type::value_type getSignatureReward() const
Get sfSignatureReward (SoeRequired).
STArray const & getXChainClaimAttestations() const
Get sfXChainClaimAttestations (SoeRequired).
TEST(AccountRootTests, BuilderSettersRoundTrip)
UInt32Value canonical_UINT32()
AccountValue canonical_ACCOUNT()
UInt256Value canonical_UINT256()
XChainBridgeValue canonical_XCHAIN_BRIDGE()
STArray canonical_ARRAY()
AmountValue canonical_AMOUNT()
UInt64Value canonical_UINT64()
void expectEqualField(T const &expected, T const &actual, char const *fieldName)