4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/STLedgerEntry.h>
9#include <xrpl/protocol_autogen/ledger_entries/PermissionedDomain.h>
10#include <xrpl/protocol_autogen/ledger_entries/Ticket.h>
19TEST(PermissionedDomainTests, BuilderSettersRoundTrip)
33 acceptedCredentialsValue,
36 previousTxnLgrSeqValue
45 auto const entry = builder.
build(index);
47 EXPECT_TRUE(entry.validate());
50 auto const& expected = ownerValue;
51 auto const actual = entry.getOwner();
56 auto const& expected = sequenceValue;
57 auto const actual = entry.getSequence();
62 auto const& expected = acceptedCredentialsValue;
63 auto const actual = entry.getAcceptedCredentials();
68 auto const& expected = ownerNodeValue;
69 auto const actual = entry.getOwnerNode();
74 auto const& expected = previousTxnIDValue;
75 auto const actual = entry.getPreviousTxnID();
80 auto const& expected = previousTxnLgrSeqValue;
81 auto const actual = entry.getPreviousTxnLgrSeq();
85 EXPECT_TRUE(entry.hasLedgerIndex());
86 auto const ledgerIndex = entry.getLedgerIndex();
87 ASSERT_TRUE(ledgerIndex.has_value());
88 EXPECT_EQ(*ledgerIndex, index);
89 EXPECT_EQ(entry.getKey(), index);
94TEST(PermissionedDomainTests, BuilderFromSleRoundTrip)
107 sle->at(sfOwner) = ownerValue;
108 sle->at(sfSequence) = sequenceValue;
109 sle->setFieldArray(sfAcceptedCredentials, acceptedCredentialsValue);
110 sle->at(sfOwnerNode) = ownerNodeValue;
111 sle->at(sfPreviousTxnID) = previousTxnIDValue;
112 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
115 EXPECT_TRUE(builderFromSle.
validate());
117 auto const entryFromBuilder = builderFromSle.
build(index);
120 EXPECT_TRUE(entryFromBuilder.validate());
121 EXPECT_TRUE(entryFromSle.
validate());
124 auto const& expected = ownerValue;
126 auto const fromSle = entryFromSle.
getOwner();
127 auto const fromBuilder = entryFromBuilder.getOwner();
134 auto const& expected = sequenceValue;
137 auto const fromBuilder = entryFromBuilder.getSequence();
144 auto const& expected = acceptedCredentialsValue;
147 auto const fromBuilder = entryFromBuilder.getAcceptedCredentials();
154 auto const& expected = ownerNodeValue;
157 auto const fromBuilder = entryFromBuilder.getOwnerNode();
164 auto const& expected = previousTxnIDValue;
167 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
174 auto const& expected = previousTxnLgrSeqValue;
177 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
183 EXPECT_EQ(entryFromSle.
getKey(), index);
184 EXPECT_EQ(entryFromBuilder.getKey(), index);
188TEST(PermissionedDomainTests, WrapperThrowsOnWrongEntryType)
201 auto wrongEntry = wrongBuilder.
build(index);
207TEST(PermissionedDomainTests, BuilderThrowsOnWrongEntryType)
218 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 PermissionedDomain ledger entries.
PermissionedDomain build(uint256 const &index)
Build and return the completed PermissionedDomain wrapper.
Ledger Entry: PermissionedDomain.
STArray const & getAcceptedCredentials() const
Get sfAcceptedCredentials (SoeRequired).
static constexpr LedgerEntryType entryType
SF_UINT32::type::value_type getSequence() const
Get sfSequence (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_ACCOUNT::type::value_type getOwner() const
Get sfOwner (SoeRequired).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
Builder for Ticket ledger entries.
Ticket build(uint256 const &index)
Build and return the completed Ticket wrapper.
TEST(AccountRootTests, BuilderSettersRoundTrip)
UInt32Value canonical_UINT32()
AccountValue canonical_ACCOUNT()
UInt256Value canonical_UINT256()
STArray canonical_ARRAY()
UInt64Value canonical_UINT64()
void expectEqualField(T const &expected, T const &actual, char const *fieldName)