diff --git a/cmake/scripts/codegen/templates/LedgerEntry.h.mako b/cmake/scripts/codegen/templates/LedgerEntry.h.mako index c799903b21..9d96ea4ddb 100644 --- a/cmake/scripts/codegen/templates/LedgerEntry.h.mako +++ b/cmake/scripts/codegen/templates/LedgerEntry.h.mako @@ -52,13 +52,13 @@ public: % if field.get('mpt_support'): * MPT Support: ${field['mpt_support']} % endif -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': * @return The field value. % else: * @return The field value, or std::nullopt if not present. % endif */ -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': [[nodiscard]] ${field['typeData']['return_type']} get${field['name'][2:]}() const @@ -94,13 +94,13 @@ public: * MPT Support: ${field['mpt_support']} % endif * @note This is an untyped field (${field.get('cppType', 'unknown')}). -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': * @return The field value. % else: * @return The field value, or std::nullopt if not present. % endif */ -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': [[nodiscard]] ${field['typeData']['return_type']} get${field['name'][2:]}() const diff --git a/cmake/scripts/codegen/templates/LedgerEntryTests.cpp.mako b/cmake/scripts/codegen/templates/LedgerEntryTests.cpp.mako index 011cf933dd..29e5f32460 100644 --- a/cmake/scripts/codegen/templates/LedgerEntryTests.cpp.mako +++ b/cmake/scripts/codegen/templates/LedgerEntryTests.cpp.mako @@ -1,19 +1,31 @@ // Auto-generated unit tests for ledger entry ${name} +<%! from itertools import chain %>\ <% + default_fields = [f for f in fields if f["requirement"] == "SoeDefault"] required_fields = [f for f in fields if f["requirement"] == "SoeRequired"] - optional_fields = [f for f in fields if f["requirement"] != "SoeRequired"] + optional_fields = [f for f in fields if f["requirement"] == "SoeOptional"] def canonical_expr(field): return f"canonical_{field['stiSuffix']}()" + def default_expr(field): + # The value a SoeDefault field's getter returns when the field is unset. + if field["typed"]: + return f"{field['typeData']['return_type']}{{}}" + sti = field.get("stiSuffix") + if sti == "ARRAY": + return "STArray{}" + if sti == "PATHSET": + return "STPathSet{}" + return "STObject{sfGeneric}" + # Pick a wrong ledger entry to test type mismatch # Use Ticket as it has minimal required fields (just Account) if name != "Ticket": wrong_le_include = "Ticket" else: wrong_le_include = "Check" -%> - +%>\ #include #include @@ -46,6 +58,9 @@ TEST(${name}Tests, BuilderSettersRoundTrip) % for field in optional_fields: builder.set${field["name"][2:]}(${field["paramName"]}Value); % endfor +% for field in default_fields: + builder.set${field["name"][2:]}(${field["paramName"]}Value); +% endfor builder.setLedgerIndex(index); builder.setFlags(0x1u); @@ -56,7 +71,7 @@ TEST(${name}Tests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.validate()); -% for field in required_fields: +% for field in chain(required_fields, default_fields): { auto const& expected = ${field["paramName"]}Value; auto const actual = entry.get${field["name"][2:]}(); @@ -112,7 +127,7 @@ TEST(${name}Tests, BuilderFromSleRoundTrip) EXPECT_TRUE(entryFromBuilder.validate()); EXPECT_TRUE(entryFromSle.validate()); -% for field in required_fields: +% for field in chain(required_fields, default_fields): { auto const& expected = ${field["paramName"]}Value; @@ -228,4 +243,48 @@ TEST(${name}Tests, OptionalFieldsReturnNullopt) % endfor } % endif + +% if default_fields: +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(${name}Tests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + +% for field in required_fields: + auto const ${field["paramName"]}Value = ${canonical_expr(field)}; +% endfor + + // Unset: default fields return the type default. + ${name}Builder defaultBuilder{ +% for i, field in enumerate(required_fields): + ${field["paramName"]}Value${"," if i < len(required_fields) - 1 else ""} +% endfor + }; + auto const defaultEntry = defaultBuilder.build(index); +% for field in default_fields: + { + auto const expected = ${default_expr(field)}; + expectEqualField(expected, defaultEntry.get${field["name"][2:]}(), "${field["name"]}"); + } +% endfor + + // Set: default fields return the assigned value. + ${name}Builder setBuilder{ +% for i, field in enumerate(required_fields): + ${field["paramName"]}Value${"," if i < len(required_fields) - 1 else ""} +% endfor + }; +% for field in default_fields: + setBuilder.set${field["name"][2:]}(${canonical_expr(field)}); +% endfor + auto const setEntry = setBuilder.build(index); +% for field in default_fields: + { + auto const expected = ${canonical_expr(field)}; + expectEqualField(expected, setEntry.get${field["name"][2:]}(), "${field["name"]}"); + } +% endfor +} +% endif } diff --git a/cmake/scripts/codegen/templates/Transaction.h.mako b/cmake/scripts/codegen/templates/Transaction.h.mako index 49e2e4a5cd..64ef8b0ee7 100644 --- a/cmake/scripts/codegen/templates/Transaction.h.mako +++ b/cmake/scripts/codegen/templates/Transaction.h.mako @@ -54,7 +54,7 @@ public: % if field.get('supports_mpt'): * @note This field supports MPT (Multi-Purpose Token) amounts. % endif -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': * @return The field value. % else: * @return The field value, or std::nullopt if not present. @@ -97,13 +97,13 @@ public: * @note This field supports MPT (Multi-Purpose Token) amounts. % endif * @note This is an untyped field. -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': * @return The field value. % else: * @return The field value, or std::nullopt if not present. % endif */ -% if field['requirement'] == 'SoeRequired': +% if field['requirement'] == 'SoeRequired' or field['requirement'] == 'SoeDefault': [[nodiscard]] ${field['typeData']['return_type']} get${field['name'][2:]}() const diff --git a/cmake/scripts/codegen/templates/TransactionTests.cpp.mako b/cmake/scripts/codegen/templates/TransactionTests.cpp.mako index 14ceaffd09..18dbd61a49 100644 --- a/cmake/scripts/codegen/templates/TransactionTests.cpp.mako +++ b/cmake/scripts/codegen/templates/TransactionTests.cpp.mako @@ -1,18 +1,30 @@ // Auto-generated unit tests for transaction ${name} +<%! from itertools import chain %>\ <% + default_fields = [f for f in fields if f["requirement"] == "SoeDefault"] required_fields = [f for f in fields if f["requirement"] == "SoeRequired"] - optional_fields = [f for f in fields if f["requirement"] != "SoeRequired"] + optional_fields = [f for f in fields if f["requirement"] == "SoeOptional"] def canonical_expr(field): return f"canonical_{field['stiSuffix']}()" + def default_expr(field): + # The value a SoeDefault field's getter returns when the field is unset. + if field["typed"]: + return f"{field['typeData']['return_type']}{{}}" + sti = field.get("stiSuffix") + if sti == "ARRAY": + return "STArray{}" + if sti == "PATHSET": + return "STPathSet{}" + return "STObject{sfGeneric}" + # Pick a wrong transaction to test type mismatch if name != "AccountSet": wrong_tx_include = "AccountSet" else: wrong_tx_include = "OfferCancel" -%> - +%>\ #include #include @@ -58,6 +70,10 @@ TEST(Transactions${name}Tests, BuilderSettersRoundTrip) % for field in optional_fields: builder.set${field["name"][2:]}(${field["paramName"]}Value); % endfor + // Set default fields +% for field in default_fields: + builder.set${field["name"][2:]}(${field["paramName"]}Value); +% endfor auto tx = builder.build(publicKey, secretKey); @@ -73,8 +89,8 @@ TEST(Transactions${name}Tests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields -% for field in required_fields: + // Verify required and default fields +% for field in chain(required_fields, default_fields): { auto const& expected = ${field["paramName"]}Value; auto const actual = tx.get${field["name"][2:]}(); @@ -126,6 +142,9 @@ TEST(Transactions${name}Tests, BuilderFromStTxRoundTrip) % for field in optional_fields: initialBuilder.set${field["name"][2:]}(${field["paramName"]}Value); % endfor +% for field in default_fields: + initialBuilder.set${field["name"][2:]}(${field["paramName"]}Value); +% endfor auto initialTx = initialBuilder.build(publicKey, secretKey); @@ -142,8 +161,8 @@ TEST(Transactions${name}Tests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields -% for field in required_fields: + // Verify required and default fields +% for field in chain(required_fields, default_fields): { auto const& expected = ${field["paramName"]}Value; auto const actual = rebuiltTx.get${field["name"][2:]}(); @@ -238,4 +257,62 @@ TEST(Transactions${name}Tests, OptionalFieldsReturnNullopt) } % endif +% if default_fields: +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(Transactions${name}Tests, DefaultFieldsRoundTrip) +{ + // Generate a deterministic keypair for signing + auto const [publicKey, secretKey] = + generateKeyPair(KeyType::Secp256k1, generateSeed("test${name}Default")); + + // Common transaction fields + auto const accountValue = calcAccountID(publicKey); + std::uint32_t const sequenceValue = 4; + auto const feeValue = canonical_AMOUNT(); + + // Transaction-specific required field values +% for field in required_fields: + auto const ${field["paramName"]}Value = ${canonical_expr(field)}; +% endfor + + // Unset: default fields return the type default. + ${name}Builder defaultBuilder{ + accountValue, +% for field in required_fields: + ${field["paramName"]}Value, +% endfor + sequenceValue, + feeValue + }; + auto const defaultTx = defaultBuilder.build(publicKey, secretKey); +% for field in default_fields: + { + auto const expected = ${default_expr(field)}; + expectEqualField(expected, defaultTx.get${field["name"][2:]}(), "${field["name"]}"); + } +% endfor + + // Set: default fields return the assigned value. + ${name}Builder setBuilder{ + accountValue, +% for field in required_fields: + ${field["paramName"]}Value, +% endfor + sequenceValue, + feeValue + }; +% for field in default_fields: + setBuilder.set${field["name"][2:]}(${canonical_expr(field)}); +% endfor + auto const setTx = setBuilder.build(publicKey, secretKey); +% for field in default_fields: + { + auto const expected = ${canonical_expr(field)}; + expectEqualField(expected, setTx.get${field["name"][2:]}(), "${field["name"]}"); + } +% endfor +} +% endif + } diff --git a/include/xrpl/protocol_autogen/ledger_entries/AMM.h b/include/xrpl/protocol_autogen/ledger_entries/AMM.h index e6daaf0043..eb32a0cd89 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/AMM.h +++ b/include/xrpl/protocol_autogen/ledger_entries/AMM.h @@ -58,26 +58,13 @@ public: /** * @brief Get sfTradingFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT16::type::value_type getTradingFee() const { - if (hasTradingFee()) - return this->sle_->at(sfTradingFee); - return std::nullopt; - } - - /** - * @brief Check if sfTradingFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasTradingFee() const - { - return this->sle_->isFieldPresent(sfTradingFee); + return this->sle_->at(sfTradingFee); } /** diff --git a/include/xrpl/protocol_autogen/ledger_entries/AccountRoot.h b/include/xrpl/protocol_autogen/ledger_entries/AccountRoot.h index 04249b4e04..2aaaf71286 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/AccountRoot.h +++ b/include/xrpl/protocol_autogen/ledger_entries/AccountRoot.h @@ -377,50 +377,24 @@ public: /** * @brief Get sfMintedNFTokens (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getMintedNFTokens() const { - if (hasMintedNFTokens()) - return this->sle_->at(sfMintedNFTokens); - return std::nullopt; - } - - /** - * @brief Check if sfMintedNFTokens is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasMintedNFTokens() const - { - return this->sle_->isFieldPresent(sfMintedNFTokens); + return this->sle_->at(sfMintedNFTokens); } /** * @brief Get sfBurnedNFTokens (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getBurnedNFTokens() const { - if (hasBurnedNFTokens()) - return this->sle_->at(sfBurnedNFTokens); - return std::nullopt; - } - - /** - * @brief Check if sfBurnedNFTokens is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasBurnedNFTokens() const - { - return this->sle_->isFieldPresent(sfBurnedNFTokens); + return this->sle_->at(sfBurnedNFTokens); } /** @@ -449,74 +423,35 @@ public: /** * @brief Get sfSponsoredOwnerCount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getSponsoredOwnerCount() const { - if (hasSponsoredOwnerCount()) - return this->sle_->at(sfSponsoredOwnerCount); - return std::nullopt; - } - - /** - * @brief Check if sfSponsoredOwnerCount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasSponsoredOwnerCount() const - { - return this->sle_->isFieldPresent(sfSponsoredOwnerCount); + return this->sle_->at(sfSponsoredOwnerCount); } /** * @brief Get sfSponsoringOwnerCount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getSponsoringOwnerCount() const { - if (hasSponsoringOwnerCount()) - return this->sle_->at(sfSponsoringOwnerCount); - return std::nullopt; - } - - /** - * @brief Check if sfSponsoringOwnerCount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasSponsoringOwnerCount() const - { - return this->sle_->isFieldPresent(sfSponsoringOwnerCount); + return this->sle_->at(sfSponsoringOwnerCount); } /** * @brief Get sfSponsoringAccountCount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getSponsoringAccountCount() const { - if (hasSponsoringAccountCount()) - return this->sle_->at(sfSponsoringAccountCount); - return std::nullopt; - } - - /** - * @brief Check if sfSponsoringAccountCount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasSponsoringAccountCount() const - { - return this->sle_->isFieldPresent(sfSponsoringAccountCount); + return this->sle_->at(sfSponsoringAccountCount); } /** diff --git a/include/xrpl/protocol_autogen/ledger_entries/Loan.h b/include/xrpl/protocol_autogen/ledger_entries/Loan.h index a0abf9bd97..f1960dc5d7 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/Loan.h +++ b/include/xrpl/protocol_autogen/ledger_entries/Loan.h @@ -124,218 +124,101 @@ public: /** * @brief Get sfLoanOriginationFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getLoanOriginationFee() const { - if (hasLoanOriginationFee()) - return this->sle_->at(sfLoanOriginationFee); - return std::nullopt; - } - - /** - * @brief Check if sfLoanOriginationFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLoanOriginationFee() const - { - return this->sle_->isFieldPresent(sfLoanOriginationFee); + return this->sle_->at(sfLoanOriginationFee); } /** * @brief Get sfLoanServiceFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getLoanServiceFee() const { - if (hasLoanServiceFee()) - return this->sle_->at(sfLoanServiceFee); - return std::nullopt; - } - - /** - * @brief Check if sfLoanServiceFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLoanServiceFee() const - { - return this->sle_->isFieldPresent(sfLoanServiceFee); + return this->sle_->at(sfLoanServiceFee); } /** * @brief Get sfLatePaymentFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getLatePaymentFee() const { - if (hasLatePaymentFee()) - return this->sle_->at(sfLatePaymentFee); - return std::nullopt; - } - - /** - * @brief Check if sfLatePaymentFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLatePaymentFee() const - { - return this->sle_->isFieldPresent(sfLatePaymentFee); + return this->sle_->at(sfLatePaymentFee); } /** * @brief Get sfClosePaymentFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getClosePaymentFee() const { - if (hasClosePaymentFee()) - return this->sle_->at(sfClosePaymentFee); - return std::nullopt; - } - - /** - * @brief Check if sfClosePaymentFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasClosePaymentFee() const - { - return this->sle_->isFieldPresent(sfClosePaymentFee); + return this->sle_->at(sfClosePaymentFee); } /** * @brief Get sfOverpaymentFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getOverpaymentFee() const { - if (hasOverpaymentFee()) - return this->sle_->at(sfOverpaymentFee); - return std::nullopt; - } - - /** - * @brief Check if sfOverpaymentFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasOverpaymentFee() const - { - return this->sle_->isFieldPresent(sfOverpaymentFee); + return this->sle_->at(sfOverpaymentFee); } /** * @brief Get sfInterestRate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getInterestRate() const { - if (hasInterestRate()) - return this->sle_->at(sfInterestRate); - return std::nullopt; - } - - /** - * @brief Check if sfInterestRate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasInterestRate() const - { - return this->sle_->isFieldPresent(sfInterestRate); + return this->sle_->at(sfInterestRate); } /** * @brief Get sfLateInterestRate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getLateInterestRate() const { - if (hasLateInterestRate()) - return this->sle_->at(sfLateInterestRate); - return std::nullopt; - } - - /** - * @brief Check if sfLateInterestRate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLateInterestRate() const - { - return this->sle_->isFieldPresent(sfLateInterestRate); + return this->sle_->at(sfLateInterestRate); } /** * @brief Get sfCloseInterestRate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getCloseInterestRate() const { - if (hasCloseInterestRate()) - return this->sle_->at(sfCloseInterestRate); - return std::nullopt; - } - - /** - * @brief Check if sfCloseInterestRate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasCloseInterestRate() const - { - return this->sle_->isFieldPresent(sfCloseInterestRate); + return this->sle_->at(sfCloseInterestRate); } /** * @brief Get sfOverpaymentInterestRate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getOverpaymentInterestRate() const { - if (hasOverpaymentInterestRate()) - return this->sle_->at(sfOverpaymentInterestRate); - return std::nullopt; - } - - /** - * @brief Check if sfOverpaymentInterestRate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasOverpaymentInterestRate() const - { - return this->sle_->isFieldPresent(sfOverpaymentInterestRate); + return this->sle_->at(sfOverpaymentInterestRate); } /** @@ -362,98 +245,46 @@ public: /** * @brief Get sfGracePeriod (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getGracePeriod() const { - if (hasGracePeriod()) - return this->sle_->at(sfGracePeriod); - return std::nullopt; - } - - /** - * @brief Check if sfGracePeriod is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasGracePeriod() const - { - return this->sle_->isFieldPresent(sfGracePeriod); + return this->sle_->at(sfGracePeriod); } /** * @brief Get sfPreviousPaymentDueDate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getPreviousPaymentDueDate() const { - if (hasPreviousPaymentDueDate()) - return this->sle_->at(sfPreviousPaymentDueDate); - return std::nullopt; - } - - /** - * @brief Check if sfPreviousPaymentDueDate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasPreviousPaymentDueDate() const - { - return this->sle_->isFieldPresent(sfPreviousPaymentDueDate); + return this->sle_->at(sfPreviousPaymentDueDate); } /** * @brief Get sfNextPaymentDueDate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getNextPaymentDueDate() const { - if (hasNextPaymentDueDate()) - return this->sle_->at(sfNextPaymentDueDate); - return std::nullopt; - } - - /** - * @brief Check if sfNextPaymentDueDate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasNextPaymentDueDate() const - { - return this->sle_->isFieldPresent(sfNextPaymentDueDate); + return this->sle_->at(sfNextPaymentDueDate); } /** * @brief Get sfPaymentRemaining (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getPaymentRemaining() const { - if (hasPaymentRemaining()) - return this->sle_->at(sfPaymentRemaining); - return std::nullopt; - } - - /** - * @brief Check if sfPaymentRemaining is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasPaymentRemaining() const - { - return this->sle_->isFieldPresent(sfPaymentRemaining); + return this->sle_->at(sfPaymentRemaining); } /** @@ -469,98 +300,46 @@ public: /** * @brief Get sfPrincipalOutstanding (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getPrincipalOutstanding() const { - if (hasPrincipalOutstanding()) - return this->sle_->at(sfPrincipalOutstanding); - return std::nullopt; - } - - /** - * @brief Check if sfPrincipalOutstanding is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasPrincipalOutstanding() const - { - return this->sle_->isFieldPresent(sfPrincipalOutstanding); + return this->sle_->at(sfPrincipalOutstanding); } /** * @brief Get sfTotalValueOutstanding (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getTotalValueOutstanding() const { - if (hasTotalValueOutstanding()) - return this->sle_->at(sfTotalValueOutstanding); - return std::nullopt; - } - - /** - * @brief Check if sfTotalValueOutstanding is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasTotalValueOutstanding() const - { - return this->sle_->isFieldPresent(sfTotalValueOutstanding); + return this->sle_->at(sfTotalValueOutstanding); } /** * @brief Get sfManagementFeeOutstanding (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getManagementFeeOutstanding() const { - if (hasManagementFeeOutstanding()) - return this->sle_->at(sfManagementFeeOutstanding); - return std::nullopt; - } - - /** - * @brief Check if sfManagementFeeOutstanding is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasManagementFeeOutstanding() const - { - return this->sle_->isFieldPresent(sfManagementFeeOutstanding); + return this->sle_->at(sfManagementFeeOutstanding); } /** * @brief Get sfLoanScale (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_INT32::type::value_type getLoanScale() const { - if (hasLoanScale()) - return this->sle_->at(sfLoanScale); - return std::nullopt; - } - - /** - * @brief Check if sfLoanScale is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLoanScale() const - { - return this->sle_->isFieldPresent(sfLoanScale); + return this->sle_->at(sfLoanScale); } }; diff --git a/include/xrpl/protocol_autogen/ledger_entries/LoanBroker.h b/include/xrpl/protocol_autogen/ledger_entries/LoanBroker.h index 281af2cfeb..9e21bb21aa 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/LoanBroker.h +++ b/include/xrpl/protocol_autogen/ledger_entries/LoanBroker.h @@ -146,194 +146,90 @@ public: /** * @brief Get sfData (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_VL::type::value_type getData() const { - if (hasData()) - return this->sle_->at(sfData); - return std::nullopt; - } - - /** - * @brief Check if sfData is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasData() const - { - return this->sle_->isFieldPresent(sfData); + return this->sle_->at(sfData); } /** * @brief Get sfManagementFeeRate (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT16::type::value_type getManagementFeeRate() const { - if (hasManagementFeeRate()) - return this->sle_->at(sfManagementFeeRate); - return std::nullopt; - } - - /** - * @brief Check if sfManagementFeeRate is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasManagementFeeRate() const - { - return this->sle_->isFieldPresent(sfManagementFeeRate); + return this->sle_->at(sfManagementFeeRate); } /** * @brief Get sfOwnerCount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getOwnerCount() const { - if (hasOwnerCount()) - return this->sle_->at(sfOwnerCount); - return std::nullopt; - } - - /** - * @brief Check if sfOwnerCount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasOwnerCount() const - { - return this->sle_->isFieldPresent(sfOwnerCount); + return this->sle_->at(sfOwnerCount); } /** * @brief Get sfDebtTotal (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getDebtTotal() const { - if (hasDebtTotal()) - return this->sle_->at(sfDebtTotal); - return std::nullopt; - } - - /** - * @brief Check if sfDebtTotal is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasDebtTotal() const - { - return this->sle_->isFieldPresent(sfDebtTotal); + return this->sle_->at(sfDebtTotal); } /** * @brief Get sfDebtMaximum (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getDebtMaximum() const { - if (hasDebtMaximum()) - return this->sle_->at(sfDebtMaximum); - return std::nullopt; - } - - /** - * @brief Check if sfDebtMaximum is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasDebtMaximum() const - { - return this->sle_->isFieldPresent(sfDebtMaximum); + return this->sle_->at(sfDebtMaximum); } /** * @brief Get sfCoverAvailable (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getCoverAvailable() const { - if (hasCoverAvailable()) - return this->sle_->at(sfCoverAvailable); - return std::nullopt; - } - - /** - * @brief Check if sfCoverAvailable is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasCoverAvailable() const - { - return this->sle_->isFieldPresent(sfCoverAvailable); + return this->sle_->at(sfCoverAvailable); } /** * @brief Get sfCoverRateMinimum (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getCoverRateMinimum() const { - if (hasCoverRateMinimum()) - return this->sle_->at(sfCoverRateMinimum); - return std::nullopt; - } - - /** - * @brief Check if sfCoverRateMinimum is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasCoverRateMinimum() const - { - return this->sle_->isFieldPresent(sfCoverRateMinimum); + return this->sle_->at(sfCoverRateMinimum); } /** * @brief Get sfCoverRateLiquidation (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getCoverRateLiquidation() const { - if (hasCoverRateLiquidation()) - return this->sle_->at(sfCoverRateLiquidation); - return std::nullopt; - } - - /** - * @brief Check if sfCoverRateLiquidation is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasCoverRateLiquidation() const - { - return this->sle_->isFieldPresent(sfCoverRateLiquidation); + return this->sle_->at(sfCoverRateLiquidation); } }; diff --git a/include/xrpl/protocol_autogen/ledger_entries/MPToken.h b/include/xrpl/protocol_autogen/ledger_entries/MPToken.h index 874d779d09..82a3f5c2c0 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/MPToken.h +++ b/include/xrpl/protocol_autogen/ledger_entries/MPToken.h @@ -69,26 +69,13 @@ public: /** * @brief Get sfMPTAmount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT64::type::value_type getMPTAmount() const { - if (hasMPTAmount()) - return this->sle_->at(sfMPTAmount); - return std::nullopt; - } - - /** - * @brief Check if sfMPTAmount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasMPTAmount() const - { - return this->sle_->isFieldPresent(sfMPTAmount); + return this->sle_->at(sfMPTAmount); } /** @@ -198,26 +185,13 @@ public: /** * @brief Get sfConfidentialBalanceVersion (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getConfidentialBalanceVersion() const { - if (hasConfidentialBalanceVersion()) - return this->sle_->at(sfConfidentialBalanceVersion); - return std::nullopt; - } - - /** - * @brief Check if sfConfidentialBalanceVersion is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasConfidentialBalanceVersion() const - { - return this->sle_->isFieldPresent(sfConfidentialBalanceVersion); + return this->sle_->at(sfConfidentialBalanceVersion); } /** diff --git a/include/xrpl/protocol_autogen/ledger_entries/MPTokenIssuance.h b/include/xrpl/protocol_autogen/ledger_entries/MPTokenIssuance.h index 8518a0fe14..3caa571329 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/MPTokenIssuance.h +++ b/include/xrpl/protocol_autogen/ledger_entries/MPTokenIssuance.h @@ -69,26 +69,13 @@ public: /** * @brief Get sfTransferFee (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT16::type::value_type getTransferFee() const { - if (hasTransferFee()) - return this->sle_->at(sfTransferFee); - return std::nullopt; - } - - /** - * @brief Check if sfTransferFee is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasTransferFee() const - { - return this->sle_->isFieldPresent(sfTransferFee); + return this->sle_->at(sfTransferFee); } /** @@ -104,26 +91,13 @@ public: /** * @brief Get sfAssetScale (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT8::type::value_type getAssetScale() const { - if (hasAssetScale()) - return this->sle_->at(sfAssetScale); - return std::nullopt; - } - - /** - * @brief Check if sfAssetScale is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasAssetScale() const - { - return this->sle_->isFieldPresent(sfAssetScale); + return this->sle_->at(sfAssetScale); } /** @@ -257,26 +231,13 @@ public: /** * @brief Get sfMutableFlags (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getMutableFlags() const { - if (hasMutableFlags()) - return this->sle_->at(sfMutableFlags); - return std::nullopt; - } - - /** - * @brief Check if sfMutableFlags is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasMutableFlags() const - { - return this->sle_->isFieldPresent(sfMutableFlags); + return this->sle_->at(sfMutableFlags); } /** @@ -353,26 +314,13 @@ public: /** * @brief Get sfConfidentialOutstandingAmount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT64::type::value_type getConfidentialOutstandingAmount() const { - if (hasConfidentialOutstandingAmount()) - return this->sle_->at(sfConfidentialOutstandingAmount); - return std::nullopt; - } - - /** - * @brief Check if sfConfidentialOutstandingAmount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasConfidentialOutstandingAmount() const - { - return this->sle_->isFieldPresent(sfConfidentialOutstandingAmount); + return this->sle_->at(sfConfidentialOutstandingAmount); } }; diff --git a/include/xrpl/protocol_autogen/ledger_entries/Sponsorship.h b/include/xrpl/protocol_autogen/ledger_entries/Sponsorship.h index 065e655682..ad6471af99 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/Sponsorship.h +++ b/include/xrpl/protocol_autogen/ledger_entries/Sponsorship.h @@ -139,26 +139,13 @@ public: /** * @brief Get sfRemainingOwnerCount (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT32::type::value_type getRemainingOwnerCount() const { - if (hasRemainingOwnerCount()) - return this->sle_->at(sfRemainingOwnerCount); - return std::nullopt; - } - - /** - * @brief Check if sfRemainingOwnerCount is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasRemainingOwnerCount() const - { - return this->sle_->isFieldPresent(sfRemainingOwnerCount); + return this->sle_->at(sfRemainingOwnerCount); } /** diff --git a/include/xrpl/protocol_autogen/ledger_entries/Vault.h b/include/xrpl/protocol_autogen/ledger_entries/Vault.h index 2bf92b4f5d..a4af72ac7b 100644 --- a/include/xrpl/protocol_autogen/ledger_entries/Vault.h +++ b/include/xrpl/protocol_autogen/ledger_entries/Vault.h @@ -148,98 +148,46 @@ public: /** * @brief Get sfAssetsTotal (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getAssetsTotal() const { - if (hasAssetsTotal()) - return this->sle_->at(sfAssetsTotal); - return std::nullopt; - } - - /** - * @brief Check if sfAssetsTotal is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasAssetsTotal() const - { - return this->sle_->isFieldPresent(sfAssetsTotal); + return this->sle_->at(sfAssetsTotal); } /** * @brief Get sfAssetsAvailable (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getAssetsAvailable() const { - if (hasAssetsAvailable()) - return this->sle_->at(sfAssetsAvailable); - return std::nullopt; - } - - /** - * @brief Check if sfAssetsAvailable is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasAssetsAvailable() const - { - return this->sle_->isFieldPresent(sfAssetsAvailable); + return this->sle_->at(sfAssetsAvailable); } /** * @brief Get sfAssetsMaximum (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getAssetsMaximum() const { - if (hasAssetsMaximum()) - return this->sle_->at(sfAssetsMaximum); - return std::nullopt; - } - - /** - * @brief Check if sfAssetsMaximum is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasAssetsMaximum() const - { - return this->sle_->isFieldPresent(sfAssetsMaximum); + return this->sle_->at(sfAssetsMaximum); } /** * @brief Get sfLossUnrealized (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_NUMBER::type::value_type getLossUnrealized() const { - if (hasLossUnrealized()) - return this->sle_->at(sfLossUnrealized); - return std::nullopt; - } - - /** - * @brief Check if sfLossUnrealized is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasLossUnrealized() const - { - return this->sle_->isFieldPresent(sfLossUnrealized); + return this->sle_->at(sfLossUnrealized); } /** @@ -266,26 +214,13 @@ public: /** * @brief Get sfScale (SoeDefault) - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - protocol_autogen::Optional + SF_UINT8::type::value_type getScale() const { - if (hasScale()) - return this->sle_->at(sfScale); - return std::nullopt; - } - - /** - * @brief Check if sfScale is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasScale() const - { - return this->sle_->isFieldPresent(sfScale); + return this->sle_->at(sfScale); } }; diff --git a/include/xrpl/protocol_autogen/transactions/Payment.h b/include/xrpl/protocol_autogen/transactions/Payment.h index 389900bf12..592ace6eef 100644 --- a/include/xrpl/protocol_autogen/transactions/Payment.h +++ b/include/xrpl/protocol_autogen/transactions/Payment.h @@ -99,26 +99,13 @@ public: /** * @brief Get sfPaths (SoeDefault) * @note This is an untyped field. - * @return The field value, or std::nullopt if not present. + * @return The field value. */ [[nodiscard]] - std::optional> + STPathSet const& getPaths() const { - if (this->tx_->isFieldPresent(sfPaths)) - return this->tx_->getFieldPathSet(sfPaths); - return std::nullopt; - } - - /** - * @brief Check if sfPaths is present. - * @return True if the field is present, false otherwise. - */ - [[nodiscard]] - bool - hasPaths() const - { - return this->tx_->isFieldPresent(sfPaths); + return this->tx_->getFieldPathSet(sfPaths); } /** diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/AMMTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/AMMTests.cpp index 0bb80c41e6..111c4e9403 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/AMMTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/AMMTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry AMM - - #include #include @@ -39,11 +37,11 @@ TEST(AMMTests, BuilderSettersRoundTrip) ownerNodeValue }; - builder.setTradingFee(tradingFeeValue); builder.setVoteSlots(voteSlotsValue); builder.setAuctionSlot(auctionSlotValue); builder.setPreviousTxnID(previousTxnIDValue); builder.setPreviousTxnLgrSeq(previousTxnLgrSeqValue); + builder.setTradingFee(tradingFeeValue); builder.setLedgerIndex(index); builder.setFlags(0x1u); @@ -86,10 +84,8 @@ TEST(AMMTests, BuilderSettersRoundTrip) { auto const& expected = tradingFeeValue; - auto const actualOpt = entry.getTradingFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfTradingFee"); - EXPECT_TRUE(entry.hasTradingFee()); + auto const actual = entry.getTradingFee(); + expectEqualField(expected, actual, "sfTradingFee"); } { @@ -223,14 +219,11 @@ TEST(AMMTests, BuilderFromSleRoundTrip) { auto const& expected = tradingFeeValue; - auto const fromSleOpt = entryFromSle.getTradingFee(); - auto const fromBuilderOpt = entryFromBuilder.getTradingFee(); + auto const fromSle = entryFromSle.getTradingFee(); + auto const fromBuilder = entryFromBuilder.getTradingFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfTradingFee"); - expectEqualField(expected, *fromBuilderOpt, "sfTradingFee"); + expectEqualField(expected, fromSle, "sfTradingFee"); + expectEqualField(expected, fromBuilder, "sfTradingFee"); } { @@ -347,8 +340,6 @@ TEST(AMMTests, OptionalFieldsReturnNullopt) auto const entry = builder.build(index); // Verify optional fields are not present - EXPECT_FALSE(entry.hasTradingFee()); - EXPECT_FALSE(entry.getTradingFee().has_value()); EXPECT_FALSE(entry.hasVoteSlots()); EXPECT_FALSE(entry.getVoteSlots().has_value()); EXPECT_FALSE(entry.hasAuctionSlot()); @@ -358,4 +349,46 @@ TEST(AMMTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasPreviousTxnLgrSeq()); EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value()); } + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(AMMTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const accountValue = canonical_ACCOUNT(); + auto const lPTokenBalanceValue = canonical_AMOUNT(); + auto const assetValue = canonical_ISSUE(); + auto const asset2Value = canonical_ISSUE(); + auto const ownerNodeValue = canonical_UINT64(); + + // Unset: default fields return the type default. + AMMBuilder defaultBuilder{ + accountValue, + lPTokenBalanceValue, + assetValue, + asset2Value, + ownerNodeValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_UINT16::type::value_type{}; + expectEqualField(expected, defaultEntry.getTradingFee(), "sfTradingFee"); + } + + // Set: default fields return the assigned value. + AMMBuilder setBuilder{ + accountValue, + lPTokenBalanceValue, + assetValue, + asset2Value, + ownerNodeValue + }; + setBuilder.setTradingFee(canonical_UINT16()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_UINT16(); + expectEqualField(expected, setEntry.getTradingFee(), "sfTradingFee"); + } +} } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/AccountRootTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/AccountRootTests.cpp index 17c80899f9..e2d00a7748 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/AccountRootTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/AccountRootTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry AccountRoot - - #include #include @@ -67,15 +65,15 @@ TEST(AccountRootTests, BuilderSettersRoundTrip) builder.setTickSize(tickSizeValue); builder.setTicketCount(ticketCountValue); builder.setNFTokenMinter(nFTokenMinterValue); - builder.setMintedNFTokens(mintedNFTokensValue); - builder.setBurnedNFTokens(burnedNFTokensValue); builder.setFirstNFTokenSequence(firstNFTokenSequenceValue); - builder.setSponsoredOwnerCount(sponsoredOwnerCountValue); - builder.setSponsoringOwnerCount(sponsoringOwnerCountValue); - builder.setSponsoringAccountCount(sponsoringAccountCountValue); builder.setAMMID(aMMIDValue); builder.setVaultID(vaultIDValue); builder.setLoanBrokerID(loanBrokerIDValue); + builder.setMintedNFTokens(mintedNFTokensValue); + builder.setBurnedNFTokens(burnedNFTokensValue); + builder.setSponsoredOwnerCount(sponsoredOwnerCountValue); + builder.setSponsoringOwnerCount(sponsoringOwnerCountValue); + builder.setSponsoringAccountCount(sponsoringAccountCountValue); builder.setLedgerIndex(index); builder.setFlags(0x1u); @@ -122,6 +120,36 @@ TEST(AccountRootTests, BuilderSettersRoundTrip) expectEqualField(expected, actual, "sfPreviousTxnLgrSeq"); } + { + auto const& expected = mintedNFTokensValue; + auto const actual = entry.getMintedNFTokens(); + expectEqualField(expected, actual, "sfMintedNFTokens"); + } + + { + auto const& expected = burnedNFTokensValue; + auto const actual = entry.getBurnedNFTokens(); + expectEqualField(expected, actual, "sfBurnedNFTokens"); + } + + { + auto const& expected = sponsoredOwnerCountValue; + auto const actual = entry.getSponsoredOwnerCount(); + expectEqualField(expected, actual, "sfSponsoredOwnerCount"); + } + + { + auto const& expected = sponsoringOwnerCountValue; + auto const actual = entry.getSponsoringOwnerCount(); + expectEqualField(expected, actual, "sfSponsoringOwnerCount"); + } + + { + auto const& expected = sponsoringAccountCountValue; + auto const actual = entry.getSponsoringAccountCount(); + expectEqualField(expected, actual, "sfSponsoringAccountCount"); + } + { auto const& expected = accountTxnIDValue; auto const actualOpt = entry.getAccountTxnID(); @@ -210,22 +238,6 @@ TEST(AccountRootTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasNFTokenMinter()); } - { - auto const& expected = mintedNFTokensValue; - auto const actualOpt = entry.getMintedNFTokens(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfMintedNFTokens"); - EXPECT_TRUE(entry.hasMintedNFTokens()); - } - - { - auto const& expected = burnedNFTokensValue; - auto const actualOpt = entry.getBurnedNFTokens(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfBurnedNFTokens"); - EXPECT_TRUE(entry.hasBurnedNFTokens()); - } - { auto const& expected = firstNFTokenSequenceValue; auto const actualOpt = entry.getFirstNFTokenSequence(); @@ -234,30 +246,6 @@ TEST(AccountRootTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasFirstNFTokenSequence()); } - { - auto const& expected = sponsoredOwnerCountValue; - auto const actualOpt = entry.getSponsoredOwnerCount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfSponsoredOwnerCount"); - EXPECT_TRUE(entry.hasSponsoredOwnerCount()); - } - - { - auto const& expected = sponsoringOwnerCountValue; - auto const actualOpt = entry.getSponsoringOwnerCount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfSponsoringOwnerCount"); - EXPECT_TRUE(entry.hasSponsoringOwnerCount()); - } - - { - auto const& expected = sponsoringAccountCountValue; - auto const actualOpt = entry.getSponsoringAccountCount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfSponsoringAccountCount"); - EXPECT_TRUE(entry.hasSponsoringAccountCount()); - } - { auto const& expected = aMMIDValue; auto const actualOpt = entry.getAMMID(); @@ -420,6 +408,56 @@ TEST(AccountRootTests, BuilderFromSleRoundTrip) expectEqualField(expected, fromBuilder, "sfPreviousTxnLgrSeq"); } + { + auto const& expected = mintedNFTokensValue; + + auto const fromSle = entryFromSle.getMintedNFTokens(); + auto const fromBuilder = entryFromBuilder.getMintedNFTokens(); + + expectEqualField(expected, fromSle, "sfMintedNFTokens"); + expectEqualField(expected, fromBuilder, "sfMintedNFTokens"); + } + + { + auto const& expected = burnedNFTokensValue; + + auto const fromSle = entryFromSle.getBurnedNFTokens(); + auto const fromBuilder = entryFromBuilder.getBurnedNFTokens(); + + expectEqualField(expected, fromSle, "sfBurnedNFTokens"); + expectEqualField(expected, fromBuilder, "sfBurnedNFTokens"); + } + + { + auto const& expected = sponsoredOwnerCountValue; + + auto const fromSle = entryFromSle.getSponsoredOwnerCount(); + auto const fromBuilder = entryFromBuilder.getSponsoredOwnerCount(); + + expectEqualField(expected, fromSle, "sfSponsoredOwnerCount"); + expectEqualField(expected, fromBuilder, "sfSponsoredOwnerCount"); + } + + { + auto const& expected = sponsoringOwnerCountValue; + + auto const fromSle = entryFromSle.getSponsoringOwnerCount(); + auto const fromBuilder = entryFromBuilder.getSponsoringOwnerCount(); + + expectEqualField(expected, fromSle, "sfSponsoringOwnerCount"); + expectEqualField(expected, fromBuilder, "sfSponsoringOwnerCount"); + } + + { + auto const& expected = sponsoringAccountCountValue; + + auto const fromSle = entryFromSle.getSponsoringAccountCount(); + auto const fromBuilder = entryFromBuilder.getSponsoringAccountCount(); + + expectEqualField(expected, fromSle, "sfSponsoringAccountCount"); + expectEqualField(expected, fromBuilder, "sfSponsoringAccountCount"); + } + { auto const& expected = accountTxnIDValue; @@ -563,32 +601,6 @@ TEST(AccountRootTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfNFTokenMinter"); } - { - auto const& expected = mintedNFTokensValue; - - auto const fromSleOpt = entryFromSle.getMintedNFTokens(); - auto const fromBuilderOpt = entryFromBuilder.getMintedNFTokens(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfMintedNFTokens"); - expectEqualField(expected, *fromBuilderOpt, "sfMintedNFTokens"); - } - - { - auto const& expected = burnedNFTokensValue; - - auto const fromSleOpt = entryFromSle.getBurnedNFTokens(); - auto const fromBuilderOpt = entryFromBuilder.getBurnedNFTokens(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfBurnedNFTokens"); - expectEqualField(expected, *fromBuilderOpt, "sfBurnedNFTokens"); - } - { auto const& expected = firstNFTokenSequenceValue; @@ -602,45 +614,6 @@ TEST(AccountRootTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfFirstNFTokenSequence"); } - { - auto const& expected = sponsoredOwnerCountValue; - - auto const fromSleOpt = entryFromSle.getSponsoredOwnerCount(); - auto const fromBuilderOpt = entryFromBuilder.getSponsoredOwnerCount(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfSponsoredOwnerCount"); - expectEqualField(expected, *fromBuilderOpt, "sfSponsoredOwnerCount"); - } - - { - auto const& expected = sponsoringOwnerCountValue; - - auto const fromSleOpt = entryFromSle.getSponsoringOwnerCount(); - auto const fromBuilderOpt = entryFromBuilder.getSponsoringOwnerCount(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfSponsoringOwnerCount"); - expectEqualField(expected, *fromBuilderOpt, "sfSponsoringOwnerCount"); - } - - { - auto const& expected = sponsoringAccountCountValue; - - auto const fromSleOpt = entryFromSle.getSponsoringAccountCount(); - auto const fromBuilderOpt = entryFromBuilder.getSponsoringAccountCount(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfSponsoringAccountCount"); - expectEqualField(expected, *fromBuilderOpt, "sfSponsoringAccountCount"); - } - { auto const& expected = aMMIDValue; @@ -766,18 +739,8 @@ TEST(AccountRootTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.getTicketCount().has_value()); EXPECT_FALSE(entry.hasNFTokenMinter()); EXPECT_FALSE(entry.getNFTokenMinter().has_value()); - EXPECT_FALSE(entry.hasMintedNFTokens()); - EXPECT_FALSE(entry.getMintedNFTokens().has_value()); - EXPECT_FALSE(entry.hasBurnedNFTokens()); - EXPECT_FALSE(entry.getBurnedNFTokens().has_value()); EXPECT_FALSE(entry.hasFirstNFTokenSequence()); EXPECT_FALSE(entry.getFirstNFTokenSequence().has_value()); - EXPECT_FALSE(entry.hasSponsoredOwnerCount()); - EXPECT_FALSE(entry.getSponsoredOwnerCount().has_value()); - EXPECT_FALSE(entry.hasSponsoringOwnerCount()); - EXPECT_FALSE(entry.getSponsoringOwnerCount().has_value()); - EXPECT_FALSE(entry.hasSponsoringAccountCount()); - EXPECT_FALSE(entry.getSponsoringAccountCount().has_value()); EXPECT_FALSE(entry.hasAMMID()); EXPECT_FALSE(entry.getAMMID().has_value()); EXPECT_FALSE(entry.hasVaultID()); @@ -785,4 +748,85 @@ TEST(AccountRootTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasLoanBrokerID()); EXPECT_FALSE(entry.getLoanBrokerID().has_value()); } + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(AccountRootTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const accountValue = canonical_ACCOUNT(); + auto const sequenceValue = canonical_UINT32(); + auto const balanceValue = canonical_AMOUNT(); + auto const ownerCountValue = canonical_UINT32(); + auto const previousTxnIDValue = canonical_UINT256(); + auto const previousTxnLgrSeqValue = canonical_UINT32(); + + // Unset: default fields return the type default. + AccountRootBuilder defaultBuilder{ + accountValue, + sequenceValue, + balanceValue, + ownerCountValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getMintedNFTokens(), "sfMintedNFTokens"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getBurnedNFTokens(), "sfBurnedNFTokens"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getSponsoredOwnerCount(), "sfSponsoredOwnerCount"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getSponsoringOwnerCount(), "sfSponsoringOwnerCount"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getSponsoringAccountCount(), "sfSponsoringAccountCount"); + } + + // Set: default fields return the assigned value. + AccountRootBuilder setBuilder{ + accountValue, + sequenceValue, + balanceValue, + ownerCountValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + setBuilder.setMintedNFTokens(canonical_UINT32()); + setBuilder.setBurnedNFTokens(canonical_UINT32()); + setBuilder.setSponsoredOwnerCount(canonical_UINT32()); + setBuilder.setSponsoringOwnerCount(canonical_UINT32()); + setBuilder.setSponsoringAccountCount(canonical_UINT32()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getMintedNFTokens(), "sfMintedNFTokens"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getBurnedNFTokens(), "sfBurnedNFTokens"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getSponsoredOwnerCount(), "sfSponsoredOwnerCount"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getSponsoringOwnerCount(), "sfSponsoringOwnerCount"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getSponsoringAccountCount(), "sfSponsoringAccountCount"); + } +} } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/AmendmentsTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/AmendmentsTests.cpp index 17da755a3d..0687e61aee 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/AmendmentsTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/AmendmentsTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Amendments - - #include #include @@ -221,4 +219,5 @@ TEST(AmendmentsTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasPreviousTxnLgrSeq()); EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/BridgeTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/BridgeTests.cpp index 1d4cfc00b9..b99573742f 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/BridgeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/BridgeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Bridge - - #include #include @@ -338,4 +336,5 @@ TEST(BridgeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasMinAccountCreateAmount()); EXPECT_FALSE(entry.getMinAccountCreateAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/CheckTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/CheckTests.cpp index f14b4fb4e4..88b99b8267 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/CheckTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/CheckTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Check - - #include #include @@ -397,4 +395,5 @@ TEST(CheckTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasDestinationTag()); EXPECT_FALSE(entry.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/CredentialTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/CredentialTests.cpp index 4fbf6d2a26..b49fffd5a8 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/CredentialTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/CredentialTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Credential - - #include #include @@ -326,4 +324,5 @@ TEST(CredentialTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasSubjectNode()); EXPECT_FALSE(entry.getSubjectNode().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/DIDTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/DIDTests.cpp index 29d49a47f2..033db5544f 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/DIDTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/DIDTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry DID - - #include #include @@ -282,4 +280,5 @@ TEST(DIDTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasData()); EXPECT_FALSE(entry.getData().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/DelegateTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/DelegateTests.cpp index 24c7c97d7f..cf0eb5033a 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/DelegateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/DelegateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Delegate - - #include #include @@ -272,4 +270,5 @@ TEST(DelegateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasDestinationNode()); EXPECT_FALSE(entry.getDestinationNode().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/DepositPreauthTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/DepositPreauthTests.cpp index 9e6144d5b9..afbc79b21a 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/DepositPreauthTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/DepositPreauthTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry DepositPreauth - - #include #include @@ -255,4 +253,5 @@ TEST(DepositPreauthTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasAuthorizeCredentials()); EXPECT_FALSE(entry.getAuthorizeCredentials().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/DirectoryNodeTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/DirectoryNodeTests.cpp index af617c2634..e90d01766c 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/DirectoryNodeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/DirectoryNodeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry DirectoryNode - - #include #include @@ -535,4 +533,5 @@ TEST(DirectoryNodeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasDomainID()); EXPECT_FALSE(entry.getDomainID().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/EscrowTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/EscrowTests.cpp index 2dbb450e28..da27591952 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/EscrowTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/EscrowTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Escrow - - #include #include @@ -488,4 +486,5 @@ TEST(EscrowTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasIssuerNode()); EXPECT_FALSE(entry.getIssuerNode().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/FeeSettingsTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/FeeSettingsTests.cpp index 479d0c56c6..3d5b9830c0 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/FeeSettingsTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/FeeSettingsTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry FeeSettings - - #include #include @@ -356,4 +354,5 @@ TEST(FeeSettingsTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasPreviousTxnLgrSeq()); EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/LedgerHashesTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/LedgerHashesTests.cpp index 8a7ae38749..7be64ca12f 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/LedgerHashesTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/LedgerHashesTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry LedgerHashes - - #include #include @@ -189,4 +187,5 @@ TEST(LedgerHashesTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasLastLedgerSequence()); EXPECT_FALSE(entry.getLastLedgerSequence().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanBrokerTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanBrokerTests.cpp index fba8c539d2..375d5726f9 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanBrokerTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanBrokerTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry LoanBroker - - #include #include @@ -124,66 +122,50 @@ TEST(LoanBrokerTests, BuilderSettersRoundTrip) { auto const& expected = dataValue; - auto const actualOpt = entry.getData(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfData"); - EXPECT_TRUE(entry.hasData()); + auto const actual = entry.getData(); + expectEqualField(expected, actual, "sfData"); } { auto const& expected = managementFeeRateValue; - auto const actualOpt = entry.getManagementFeeRate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfManagementFeeRate"); - EXPECT_TRUE(entry.hasManagementFeeRate()); + auto const actual = entry.getManagementFeeRate(); + expectEqualField(expected, actual, "sfManagementFeeRate"); } { auto const& expected = ownerCountValue; - auto const actualOpt = entry.getOwnerCount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfOwnerCount"); - EXPECT_TRUE(entry.hasOwnerCount()); + auto const actual = entry.getOwnerCount(); + expectEqualField(expected, actual, "sfOwnerCount"); } { auto const& expected = debtTotalValue; - auto const actualOpt = entry.getDebtTotal(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfDebtTotal"); - EXPECT_TRUE(entry.hasDebtTotal()); + auto const actual = entry.getDebtTotal(); + expectEqualField(expected, actual, "sfDebtTotal"); } { auto const& expected = debtMaximumValue; - auto const actualOpt = entry.getDebtMaximum(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfDebtMaximum"); - EXPECT_TRUE(entry.hasDebtMaximum()); + auto const actual = entry.getDebtMaximum(); + expectEqualField(expected, actual, "sfDebtMaximum"); } { auto const& expected = coverAvailableValue; - auto const actualOpt = entry.getCoverAvailable(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfCoverAvailable"); - EXPECT_TRUE(entry.hasCoverAvailable()); + auto const actual = entry.getCoverAvailable(); + expectEqualField(expected, actual, "sfCoverAvailable"); } { auto const& expected = coverRateMinimumValue; - auto const actualOpt = entry.getCoverRateMinimum(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfCoverRateMinimum"); - EXPECT_TRUE(entry.hasCoverRateMinimum()); + auto const actual = entry.getCoverRateMinimum(); + expectEqualField(expected, actual, "sfCoverRateMinimum"); } { auto const& expected = coverRateLiquidationValue; - auto const actualOpt = entry.getCoverRateLiquidation(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfCoverRateLiquidation"); - EXPECT_TRUE(entry.hasCoverRateLiquidation()); + auto const actual = entry.getCoverRateLiquidation(); + expectEqualField(expected, actual, "sfCoverRateLiquidation"); } EXPECT_TRUE(entry.hasLedgerIndex()); @@ -339,105 +321,81 @@ TEST(LoanBrokerTests, BuilderFromSleRoundTrip) { auto const& expected = dataValue; - auto const fromSleOpt = entryFromSle.getData(); - auto const fromBuilderOpt = entryFromBuilder.getData(); + auto const fromSle = entryFromSle.getData(); + auto const fromBuilder = entryFromBuilder.getData(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfData"); - expectEqualField(expected, *fromBuilderOpt, "sfData"); + expectEqualField(expected, fromSle, "sfData"); + expectEqualField(expected, fromBuilder, "sfData"); } { auto const& expected = managementFeeRateValue; - auto const fromSleOpt = entryFromSle.getManagementFeeRate(); - auto const fromBuilderOpt = entryFromBuilder.getManagementFeeRate(); + auto const fromSle = entryFromSle.getManagementFeeRate(); + auto const fromBuilder = entryFromBuilder.getManagementFeeRate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfManagementFeeRate"); - expectEqualField(expected, *fromBuilderOpt, "sfManagementFeeRate"); + expectEqualField(expected, fromSle, "sfManagementFeeRate"); + expectEqualField(expected, fromBuilder, "sfManagementFeeRate"); } { auto const& expected = ownerCountValue; - auto const fromSleOpt = entryFromSle.getOwnerCount(); - auto const fromBuilderOpt = entryFromBuilder.getOwnerCount(); + auto const fromSle = entryFromSle.getOwnerCount(); + auto const fromBuilder = entryFromBuilder.getOwnerCount(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfOwnerCount"); - expectEqualField(expected, *fromBuilderOpt, "sfOwnerCount"); + expectEqualField(expected, fromSle, "sfOwnerCount"); + expectEqualField(expected, fromBuilder, "sfOwnerCount"); } { auto const& expected = debtTotalValue; - auto const fromSleOpt = entryFromSle.getDebtTotal(); - auto const fromBuilderOpt = entryFromBuilder.getDebtTotal(); + auto const fromSle = entryFromSle.getDebtTotal(); + auto const fromBuilder = entryFromBuilder.getDebtTotal(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfDebtTotal"); - expectEqualField(expected, *fromBuilderOpt, "sfDebtTotal"); + expectEqualField(expected, fromSle, "sfDebtTotal"); + expectEqualField(expected, fromBuilder, "sfDebtTotal"); } { auto const& expected = debtMaximumValue; - auto const fromSleOpt = entryFromSle.getDebtMaximum(); - auto const fromBuilderOpt = entryFromBuilder.getDebtMaximum(); + auto const fromSle = entryFromSle.getDebtMaximum(); + auto const fromBuilder = entryFromBuilder.getDebtMaximum(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfDebtMaximum"); - expectEqualField(expected, *fromBuilderOpt, "sfDebtMaximum"); + expectEqualField(expected, fromSle, "sfDebtMaximum"); + expectEqualField(expected, fromBuilder, "sfDebtMaximum"); } { auto const& expected = coverAvailableValue; - auto const fromSleOpt = entryFromSle.getCoverAvailable(); - auto const fromBuilderOpt = entryFromBuilder.getCoverAvailable(); + auto const fromSle = entryFromSle.getCoverAvailable(); + auto const fromBuilder = entryFromBuilder.getCoverAvailable(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfCoverAvailable"); - expectEqualField(expected, *fromBuilderOpt, "sfCoverAvailable"); + expectEqualField(expected, fromSle, "sfCoverAvailable"); + expectEqualField(expected, fromBuilder, "sfCoverAvailable"); } { auto const& expected = coverRateMinimumValue; - auto const fromSleOpt = entryFromSle.getCoverRateMinimum(); - auto const fromBuilderOpt = entryFromBuilder.getCoverRateMinimum(); + auto const fromSle = entryFromSle.getCoverRateMinimum(); + auto const fromBuilder = entryFromBuilder.getCoverRateMinimum(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfCoverRateMinimum"); - expectEqualField(expected, *fromBuilderOpt, "sfCoverRateMinimum"); + expectEqualField(expected, fromSle, "sfCoverRateMinimum"); + expectEqualField(expected, fromBuilder, "sfCoverRateMinimum"); } { auto const& expected = coverRateLiquidationValue; - auto const fromSleOpt = entryFromSle.getCoverRateLiquidation(); - auto const fromBuilderOpt = entryFromBuilder.getCoverRateLiquidation(); + auto const fromSle = entryFromSle.getCoverRateLiquidation(); + auto const fromBuilder = entryFromBuilder.getCoverRateLiquidation(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfCoverRateLiquidation"); - expectEqualField(expected, *fromBuilderOpt, "sfCoverRateLiquidation"); + expectEqualField(expected, fromSle, "sfCoverRateLiquidation"); + expectEqualField(expected, fromBuilder, "sfCoverRateLiquidation"); } EXPECT_EQ(entryFromSle.getKey(), index); @@ -480,10 +438,12 @@ TEST(LoanBrokerTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(LoanBrokerBuilder{wrongEntry.getSle()}, std::runtime_error); } -// 5) Build with only required fields and verify optional fields return nullopt. -TEST(LoanBrokerTests, OptionalFieldsReturnNullopt) + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(LoanBrokerTests, DefaultFieldsRoundTrip) { - uint256 const index{3u}; + uint256 const index{4u}; auto const previousTxnIDValue = canonical_UINT256(); auto const previousTxnLgrSeqValue = canonical_UINT32(); @@ -495,7 +455,8 @@ TEST(LoanBrokerTests, OptionalFieldsReturnNullopt) auto const ownerValue = canonical_ACCOUNT(); auto const loanSequenceValue = canonical_UINT32(); - LoanBrokerBuilder builder{ + // Unset: default fields return the type default. + LoanBrokerBuilder defaultBuilder{ previousTxnIDValue, previousTxnLgrSeqValue, sequenceValue, @@ -506,25 +467,92 @@ TEST(LoanBrokerTests, OptionalFieldsReturnNullopt) ownerValue, loanSequenceValue }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_VL::type::value_type{}; + expectEqualField(expected, defaultEntry.getData(), "sfData"); + } + { + auto const expected = SF_UINT16::type::value_type{}; + expectEqualField(expected, defaultEntry.getManagementFeeRate(), "sfManagementFeeRate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getOwnerCount(), "sfOwnerCount"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getDebtTotal(), "sfDebtTotal"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getDebtMaximum(), "sfDebtMaximum"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getCoverAvailable(), "sfCoverAvailable"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getCoverRateMinimum(), "sfCoverRateMinimum"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getCoverRateLiquidation(), "sfCoverRateLiquidation"); + } - auto const entry = builder.build(index); - - // Verify optional fields are not present - EXPECT_FALSE(entry.hasData()); - EXPECT_FALSE(entry.getData().has_value()); - EXPECT_FALSE(entry.hasManagementFeeRate()); - EXPECT_FALSE(entry.getManagementFeeRate().has_value()); - EXPECT_FALSE(entry.hasOwnerCount()); - EXPECT_FALSE(entry.getOwnerCount().has_value()); - EXPECT_FALSE(entry.hasDebtTotal()); - EXPECT_FALSE(entry.getDebtTotal().has_value()); - EXPECT_FALSE(entry.hasDebtMaximum()); - EXPECT_FALSE(entry.getDebtMaximum().has_value()); - EXPECT_FALSE(entry.hasCoverAvailable()); - EXPECT_FALSE(entry.getCoverAvailable().has_value()); - EXPECT_FALSE(entry.hasCoverRateMinimum()); - EXPECT_FALSE(entry.getCoverRateMinimum().has_value()); - EXPECT_FALSE(entry.hasCoverRateLiquidation()); - EXPECT_FALSE(entry.getCoverRateLiquidation().has_value()); + // Set: default fields return the assigned value. + LoanBrokerBuilder setBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + sequenceValue, + ownerNodeValue, + vaultNodeValue, + vaultIDValue, + accountValue, + ownerValue, + loanSequenceValue + }; + setBuilder.setData(canonical_VL()); + setBuilder.setManagementFeeRate(canonical_UINT16()); + setBuilder.setOwnerCount(canonical_UINT32()); + setBuilder.setDebtTotal(canonical_NUMBER()); + setBuilder.setDebtMaximum(canonical_NUMBER()); + setBuilder.setCoverAvailable(canonical_NUMBER()); + setBuilder.setCoverRateMinimum(canonical_UINT32()); + setBuilder.setCoverRateLiquidation(canonical_UINT32()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_VL(); + expectEqualField(expected, setEntry.getData(), "sfData"); + } + { + auto const expected = canonical_UINT16(); + expectEqualField(expected, setEntry.getManagementFeeRate(), "sfManagementFeeRate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getOwnerCount(), "sfOwnerCount"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getDebtTotal(), "sfDebtTotal"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getDebtMaximum(), "sfDebtMaximum"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getCoverAvailable(), "sfCoverAvailable"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getCoverRateMinimum(), "sfCoverRateMinimum"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getCoverRateLiquidation(), "sfCoverRateLiquidation"); + } } } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanTests.cpp index 845a8337b9..fb0183c37d 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/LoanTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Loan - - #include #include @@ -150,138 +148,104 @@ TEST(LoanTests, BuilderSettersRoundTrip) { auto const& expected = loanOriginationFeeValue; - auto const actualOpt = entry.getLoanOriginationFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLoanOriginationFee"); - EXPECT_TRUE(entry.hasLoanOriginationFee()); + auto const actual = entry.getLoanOriginationFee(); + expectEqualField(expected, actual, "sfLoanOriginationFee"); } { auto const& expected = loanServiceFeeValue; - auto const actualOpt = entry.getLoanServiceFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLoanServiceFee"); - EXPECT_TRUE(entry.hasLoanServiceFee()); + auto const actual = entry.getLoanServiceFee(); + expectEqualField(expected, actual, "sfLoanServiceFee"); } { auto const& expected = latePaymentFeeValue; - auto const actualOpt = entry.getLatePaymentFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLatePaymentFee"); - EXPECT_TRUE(entry.hasLatePaymentFee()); + auto const actual = entry.getLatePaymentFee(); + expectEqualField(expected, actual, "sfLatePaymentFee"); } { auto const& expected = closePaymentFeeValue; - auto const actualOpt = entry.getClosePaymentFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfClosePaymentFee"); - EXPECT_TRUE(entry.hasClosePaymentFee()); + auto const actual = entry.getClosePaymentFee(); + expectEqualField(expected, actual, "sfClosePaymentFee"); } { auto const& expected = overpaymentFeeValue; - auto const actualOpt = entry.getOverpaymentFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfOverpaymentFee"); - EXPECT_TRUE(entry.hasOverpaymentFee()); + auto const actual = entry.getOverpaymentFee(); + expectEqualField(expected, actual, "sfOverpaymentFee"); } { auto const& expected = interestRateValue; - auto const actualOpt = entry.getInterestRate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfInterestRate"); - EXPECT_TRUE(entry.hasInterestRate()); + auto const actual = entry.getInterestRate(); + expectEqualField(expected, actual, "sfInterestRate"); } { auto const& expected = lateInterestRateValue; - auto const actualOpt = entry.getLateInterestRate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLateInterestRate"); - EXPECT_TRUE(entry.hasLateInterestRate()); + auto const actual = entry.getLateInterestRate(); + expectEqualField(expected, actual, "sfLateInterestRate"); } { auto const& expected = closeInterestRateValue; - auto const actualOpt = entry.getCloseInterestRate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfCloseInterestRate"); - EXPECT_TRUE(entry.hasCloseInterestRate()); + auto const actual = entry.getCloseInterestRate(); + expectEqualField(expected, actual, "sfCloseInterestRate"); } { auto const& expected = overpaymentInterestRateValue; - auto const actualOpt = entry.getOverpaymentInterestRate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfOverpaymentInterestRate"); - EXPECT_TRUE(entry.hasOverpaymentInterestRate()); + auto const actual = entry.getOverpaymentInterestRate(); + expectEqualField(expected, actual, "sfOverpaymentInterestRate"); } { auto const& expected = gracePeriodValue; - auto const actualOpt = entry.getGracePeriod(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfGracePeriod"); - EXPECT_TRUE(entry.hasGracePeriod()); + auto const actual = entry.getGracePeriod(); + expectEqualField(expected, actual, "sfGracePeriod"); } { auto const& expected = previousPaymentDueDateValue; - auto const actualOpt = entry.getPreviousPaymentDueDate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfPreviousPaymentDueDate"); - EXPECT_TRUE(entry.hasPreviousPaymentDueDate()); + auto const actual = entry.getPreviousPaymentDueDate(); + expectEqualField(expected, actual, "sfPreviousPaymentDueDate"); } { auto const& expected = nextPaymentDueDateValue; - auto const actualOpt = entry.getNextPaymentDueDate(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfNextPaymentDueDate"); - EXPECT_TRUE(entry.hasNextPaymentDueDate()); + auto const actual = entry.getNextPaymentDueDate(); + expectEqualField(expected, actual, "sfNextPaymentDueDate"); } { auto const& expected = paymentRemainingValue; - auto const actualOpt = entry.getPaymentRemaining(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfPaymentRemaining"); - EXPECT_TRUE(entry.hasPaymentRemaining()); + auto const actual = entry.getPaymentRemaining(); + expectEqualField(expected, actual, "sfPaymentRemaining"); } { auto const& expected = principalOutstandingValue; - auto const actualOpt = entry.getPrincipalOutstanding(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfPrincipalOutstanding"); - EXPECT_TRUE(entry.hasPrincipalOutstanding()); + auto const actual = entry.getPrincipalOutstanding(); + expectEqualField(expected, actual, "sfPrincipalOutstanding"); } { auto const& expected = totalValueOutstandingValue; - auto const actualOpt = entry.getTotalValueOutstanding(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfTotalValueOutstanding"); - EXPECT_TRUE(entry.hasTotalValueOutstanding()); + auto const actual = entry.getTotalValueOutstanding(); + expectEqualField(expected, actual, "sfTotalValueOutstanding"); } { auto const& expected = managementFeeOutstandingValue; - auto const actualOpt = entry.getManagementFeeOutstanding(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfManagementFeeOutstanding"); - EXPECT_TRUE(entry.hasManagementFeeOutstanding()); + auto const actual = entry.getManagementFeeOutstanding(); + expectEqualField(expected, actual, "sfManagementFeeOutstanding"); } { auto const& expected = loanScaleValue; - auto const actualOpt = entry.getLoanScale(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLoanScale"); - EXPECT_TRUE(entry.hasLoanScale()); + auto const actual = entry.getLoanScale(); + expectEqualField(expected, actual, "sfLoanScale"); } EXPECT_TRUE(entry.hasLedgerIndex()); @@ -467,222 +431,171 @@ TEST(LoanTests, BuilderFromSleRoundTrip) { auto const& expected = loanOriginationFeeValue; - auto const fromSleOpt = entryFromSle.getLoanOriginationFee(); - auto const fromBuilderOpt = entryFromBuilder.getLoanOriginationFee(); + auto const fromSle = entryFromSle.getLoanOriginationFee(); + auto const fromBuilder = entryFromBuilder.getLoanOriginationFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLoanOriginationFee"); - expectEqualField(expected, *fromBuilderOpt, "sfLoanOriginationFee"); + expectEqualField(expected, fromSle, "sfLoanOriginationFee"); + expectEqualField(expected, fromBuilder, "sfLoanOriginationFee"); } { auto const& expected = loanServiceFeeValue; - auto const fromSleOpt = entryFromSle.getLoanServiceFee(); - auto const fromBuilderOpt = entryFromBuilder.getLoanServiceFee(); + auto const fromSle = entryFromSle.getLoanServiceFee(); + auto const fromBuilder = entryFromBuilder.getLoanServiceFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLoanServiceFee"); - expectEqualField(expected, *fromBuilderOpt, "sfLoanServiceFee"); + expectEqualField(expected, fromSle, "sfLoanServiceFee"); + expectEqualField(expected, fromBuilder, "sfLoanServiceFee"); } { auto const& expected = latePaymentFeeValue; - auto const fromSleOpt = entryFromSle.getLatePaymentFee(); - auto const fromBuilderOpt = entryFromBuilder.getLatePaymentFee(); + auto const fromSle = entryFromSle.getLatePaymentFee(); + auto const fromBuilder = entryFromBuilder.getLatePaymentFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLatePaymentFee"); - expectEqualField(expected, *fromBuilderOpt, "sfLatePaymentFee"); + expectEqualField(expected, fromSle, "sfLatePaymentFee"); + expectEqualField(expected, fromBuilder, "sfLatePaymentFee"); } { auto const& expected = closePaymentFeeValue; - auto const fromSleOpt = entryFromSle.getClosePaymentFee(); - auto const fromBuilderOpt = entryFromBuilder.getClosePaymentFee(); + auto const fromSle = entryFromSle.getClosePaymentFee(); + auto const fromBuilder = entryFromBuilder.getClosePaymentFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfClosePaymentFee"); - expectEqualField(expected, *fromBuilderOpt, "sfClosePaymentFee"); + expectEqualField(expected, fromSle, "sfClosePaymentFee"); + expectEqualField(expected, fromBuilder, "sfClosePaymentFee"); } { auto const& expected = overpaymentFeeValue; - auto const fromSleOpt = entryFromSle.getOverpaymentFee(); - auto const fromBuilderOpt = entryFromBuilder.getOverpaymentFee(); + auto const fromSle = entryFromSle.getOverpaymentFee(); + auto const fromBuilder = entryFromBuilder.getOverpaymentFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfOverpaymentFee"); - expectEqualField(expected, *fromBuilderOpt, "sfOverpaymentFee"); + expectEqualField(expected, fromSle, "sfOverpaymentFee"); + expectEqualField(expected, fromBuilder, "sfOverpaymentFee"); } { auto const& expected = interestRateValue; - auto const fromSleOpt = entryFromSle.getInterestRate(); - auto const fromBuilderOpt = entryFromBuilder.getInterestRate(); + auto const fromSle = entryFromSle.getInterestRate(); + auto const fromBuilder = entryFromBuilder.getInterestRate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfInterestRate"); - expectEqualField(expected, *fromBuilderOpt, "sfInterestRate"); + expectEqualField(expected, fromSle, "sfInterestRate"); + expectEqualField(expected, fromBuilder, "sfInterestRate"); } { auto const& expected = lateInterestRateValue; - auto const fromSleOpt = entryFromSle.getLateInterestRate(); - auto const fromBuilderOpt = entryFromBuilder.getLateInterestRate(); + auto const fromSle = entryFromSle.getLateInterestRate(); + auto const fromBuilder = entryFromBuilder.getLateInterestRate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLateInterestRate"); - expectEqualField(expected, *fromBuilderOpt, "sfLateInterestRate"); + expectEqualField(expected, fromSle, "sfLateInterestRate"); + expectEqualField(expected, fromBuilder, "sfLateInterestRate"); } { auto const& expected = closeInterestRateValue; - auto const fromSleOpt = entryFromSle.getCloseInterestRate(); - auto const fromBuilderOpt = entryFromBuilder.getCloseInterestRate(); + auto const fromSle = entryFromSle.getCloseInterestRate(); + auto const fromBuilder = entryFromBuilder.getCloseInterestRate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfCloseInterestRate"); - expectEqualField(expected, *fromBuilderOpt, "sfCloseInterestRate"); + expectEqualField(expected, fromSle, "sfCloseInterestRate"); + expectEqualField(expected, fromBuilder, "sfCloseInterestRate"); } { auto const& expected = overpaymentInterestRateValue; - auto const fromSleOpt = entryFromSle.getOverpaymentInterestRate(); - auto const fromBuilderOpt = entryFromBuilder.getOverpaymentInterestRate(); + auto const fromSle = entryFromSle.getOverpaymentInterestRate(); + auto const fromBuilder = entryFromBuilder.getOverpaymentInterestRate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfOverpaymentInterestRate"); - expectEqualField(expected, *fromBuilderOpt, "sfOverpaymentInterestRate"); + expectEqualField(expected, fromSle, "sfOverpaymentInterestRate"); + expectEqualField(expected, fromBuilder, "sfOverpaymentInterestRate"); } { auto const& expected = gracePeriodValue; - auto const fromSleOpt = entryFromSle.getGracePeriod(); - auto const fromBuilderOpt = entryFromBuilder.getGracePeriod(); + auto const fromSle = entryFromSle.getGracePeriod(); + auto const fromBuilder = entryFromBuilder.getGracePeriod(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfGracePeriod"); - expectEqualField(expected, *fromBuilderOpt, "sfGracePeriod"); + expectEqualField(expected, fromSle, "sfGracePeriod"); + expectEqualField(expected, fromBuilder, "sfGracePeriod"); } { auto const& expected = previousPaymentDueDateValue; - auto const fromSleOpt = entryFromSle.getPreviousPaymentDueDate(); - auto const fromBuilderOpt = entryFromBuilder.getPreviousPaymentDueDate(); + auto const fromSle = entryFromSle.getPreviousPaymentDueDate(); + auto const fromBuilder = entryFromBuilder.getPreviousPaymentDueDate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfPreviousPaymentDueDate"); - expectEqualField(expected, *fromBuilderOpt, "sfPreviousPaymentDueDate"); + expectEqualField(expected, fromSle, "sfPreviousPaymentDueDate"); + expectEqualField(expected, fromBuilder, "sfPreviousPaymentDueDate"); } { auto const& expected = nextPaymentDueDateValue; - auto const fromSleOpt = entryFromSle.getNextPaymentDueDate(); - auto const fromBuilderOpt = entryFromBuilder.getNextPaymentDueDate(); + auto const fromSle = entryFromSle.getNextPaymentDueDate(); + auto const fromBuilder = entryFromBuilder.getNextPaymentDueDate(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfNextPaymentDueDate"); - expectEqualField(expected, *fromBuilderOpt, "sfNextPaymentDueDate"); + expectEqualField(expected, fromSle, "sfNextPaymentDueDate"); + expectEqualField(expected, fromBuilder, "sfNextPaymentDueDate"); } { auto const& expected = paymentRemainingValue; - auto const fromSleOpt = entryFromSle.getPaymentRemaining(); - auto const fromBuilderOpt = entryFromBuilder.getPaymentRemaining(); + auto const fromSle = entryFromSle.getPaymentRemaining(); + auto const fromBuilder = entryFromBuilder.getPaymentRemaining(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfPaymentRemaining"); - expectEqualField(expected, *fromBuilderOpt, "sfPaymentRemaining"); + expectEqualField(expected, fromSle, "sfPaymentRemaining"); + expectEqualField(expected, fromBuilder, "sfPaymentRemaining"); } { auto const& expected = principalOutstandingValue; - auto const fromSleOpt = entryFromSle.getPrincipalOutstanding(); - auto const fromBuilderOpt = entryFromBuilder.getPrincipalOutstanding(); + auto const fromSle = entryFromSle.getPrincipalOutstanding(); + auto const fromBuilder = entryFromBuilder.getPrincipalOutstanding(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfPrincipalOutstanding"); - expectEqualField(expected, *fromBuilderOpt, "sfPrincipalOutstanding"); + expectEqualField(expected, fromSle, "sfPrincipalOutstanding"); + expectEqualField(expected, fromBuilder, "sfPrincipalOutstanding"); } { auto const& expected = totalValueOutstandingValue; - auto const fromSleOpt = entryFromSle.getTotalValueOutstanding(); - auto const fromBuilderOpt = entryFromBuilder.getTotalValueOutstanding(); + auto const fromSle = entryFromSle.getTotalValueOutstanding(); + auto const fromBuilder = entryFromBuilder.getTotalValueOutstanding(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfTotalValueOutstanding"); - expectEqualField(expected, *fromBuilderOpt, "sfTotalValueOutstanding"); + expectEqualField(expected, fromSle, "sfTotalValueOutstanding"); + expectEqualField(expected, fromBuilder, "sfTotalValueOutstanding"); } { auto const& expected = managementFeeOutstandingValue; - auto const fromSleOpt = entryFromSle.getManagementFeeOutstanding(); - auto const fromBuilderOpt = entryFromBuilder.getManagementFeeOutstanding(); + auto const fromSle = entryFromSle.getManagementFeeOutstanding(); + auto const fromBuilder = entryFromBuilder.getManagementFeeOutstanding(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfManagementFeeOutstanding"); - expectEqualField(expected, *fromBuilderOpt, "sfManagementFeeOutstanding"); + expectEqualField(expected, fromSle, "sfManagementFeeOutstanding"); + expectEqualField(expected, fromBuilder, "sfManagementFeeOutstanding"); } { auto const& expected = loanScaleValue; - auto const fromSleOpt = entryFromSle.getLoanScale(); - auto const fromBuilderOpt = entryFromBuilder.getLoanScale(); + auto const fromSle = entryFromSle.getLoanScale(); + auto const fromBuilder = entryFromBuilder.getLoanScale(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLoanScale"); - expectEqualField(expected, *fromBuilderOpt, "sfLoanScale"); + expectEqualField(expected, fromSle, "sfLoanScale"); + expectEqualField(expected, fromBuilder, "sfLoanScale"); } EXPECT_EQ(entryFromSle.getKey(), index); @@ -725,10 +638,12 @@ TEST(LoanTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(LoanBuilder{wrongEntry.getSle()}, std::runtime_error); } -// 5) Build with only required fields and verify optional fields return nullopt. -TEST(LoanTests, OptionalFieldsReturnNullopt) + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(LoanTests, DefaultFieldsRoundTrip) { - uint256 const index{3u}; + uint256 const index{4u}; auto const previousTxnIDValue = canonical_UINT256(); auto const previousTxnLgrSeqValue = canonical_UINT32(); @@ -741,7 +656,8 @@ TEST(LoanTests, OptionalFieldsReturnNullopt) auto const paymentIntervalValue = canonical_UINT32(); auto const periodicPaymentValue = canonical_NUMBER(); - LoanBuilder builder{ + // Unset: default fields return the type default. + LoanBuilder defaultBuilder{ previousTxnIDValue, previousTxnLgrSeqValue, ownerNodeValue, @@ -753,43 +669,174 @@ TEST(LoanTests, OptionalFieldsReturnNullopt) paymentIntervalValue, periodicPaymentValue }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getLoanOriginationFee(), "sfLoanOriginationFee"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getLoanServiceFee(), "sfLoanServiceFee"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getLatePaymentFee(), "sfLatePaymentFee"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getClosePaymentFee(), "sfClosePaymentFee"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getOverpaymentFee(), "sfOverpaymentFee"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getInterestRate(), "sfInterestRate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getLateInterestRate(), "sfLateInterestRate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getCloseInterestRate(), "sfCloseInterestRate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getOverpaymentInterestRate(), "sfOverpaymentInterestRate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getGracePeriod(), "sfGracePeriod"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getPreviousPaymentDueDate(), "sfPreviousPaymentDueDate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getNextPaymentDueDate(), "sfNextPaymentDueDate"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getPaymentRemaining(), "sfPaymentRemaining"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getPrincipalOutstanding(), "sfPrincipalOutstanding"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getTotalValueOutstanding(), "sfTotalValueOutstanding"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getManagementFeeOutstanding(), "sfManagementFeeOutstanding"); + } + { + auto const expected = SF_INT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getLoanScale(), "sfLoanScale"); + } - auto const entry = builder.build(index); - - // Verify optional fields are not present - EXPECT_FALSE(entry.hasLoanOriginationFee()); - EXPECT_FALSE(entry.getLoanOriginationFee().has_value()); - EXPECT_FALSE(entry.hasLoanServiceFee()); - EXPECT_FALSE(entry.getLoanServiceFee().has_value()); - EXPECT_FALSE(entry.hasLatePaymentFee()); - EXPECT_FALSE(entry.getLatePaymentFee().has_value()); - EXPECT_FALSE(entry.hasClosePaymentFee()); - EXPECT_FALSE(entry.getClosePaymentFee().has_value()); - EXPECT_FALSE(entry.hasOverpaymentFee()); - EXPECT_FALSE(entry.getOverpaymentFee().has_value()); - EXPECT_FALSE(entry.hasInterestRate()); - EXPECT_FALSE(entry.getInterestRate().has_value()); - EXPECT_FALSE(entry.hasLateInterestRate()); - EXPECT_FALSE(entry.getLateInterestRate().has_value()); - EXPECT_FALSE(entry.hasCloseInterestRate()); - EXPECT_FALSE(entry.getCloseInterestRate().has_value()); - EXPECT_FALSE(entry.hasOverpaymentInterestRate()); - EXPECT_FALSE(entry.getOverpaymentInterestRate().has_value()); - EXPECT_FALSE(entry.hasGracePeriod()); - EXPECT_FALSE(entry.getGracePeriod().has_value()); - EXPECT_FALSE(entry.hasPreviousPaymentDueDate()); - EXPECT_FALSE(entry.getPreviousPaymentDueDate().has_value()); - EXPECT_FALSE(entry.hasNextPaymentDueDate()); - EXPECT_FALSE(entry.getNextPaymentDueDate().has_value()); - EXPECT_FALSE(entry.hasPaymentRemaining()); - EXPECT_FALSE(entry.getPaymentRemaining().has_value()); - EXPECT_FALSE(entry.hasPrincipalOutstanding()); - EXPECT_FALSE(entry.getPrincipalOutstanding().has_value()); - EXPECT_FALSE(entry.hasTotalValueOutstanding()); - EXPECT_FALSE(entry.getTotalValueOutstanding().has_value()); - EXPECT_FALSE(entry.hasManagementFeeOutstanding()); - EXPECT_FALSE(entry.getManagementFeeOutstanding().has_value()); - EXPECT_FALSE(entry.hasLoanScale()); - EXPECT_FALSE(entry.getLoanScale().has_value()); + // Set: default fields return the assigned value. + LoanBuilder setBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + ownerNodeValue, + loanBrokerNodeValue, + loanBrokerIDValue, + loanSequenceValue, + borrowerValue, + startDateValue, + paymentIntervalValue, + periodicPaymentValue + }; + setBuilder.setLoanOriginationFee(canonical_NUMBER()); + setBuilder.setLoanServiceFee(canonical_NUMBER()); + setBuilder.setLatePaymentFee(canonical_NUMBER()); + setBuilder.setClosePaymentFee(canonical_NUMBER()); + setBuilder.setOverpaymentFee(canonical_UINT32()); + setBuilder.setInterestRate(canonical_UINT32()); + setBuilder.setLateInterestRate(canonical_UINT32()); + setBuilder.setCloseInterestRate(canonical_UINT32()); + setBuilder.setOverpaymentInterestRate(canonical_UINT32()); + setBuilder.setGracePeriod(canonical_UINT32()); + setBuilder.setPreviousPaymentDueDate(canonical_UINT32()); + setBuilder.setNextPaymentDueDate(canonical_UINT32()); + setBuilder.setPaymentRemaining(canonical_UINT32()); + setBuilder.setPrincipalOutstanding(canonical_NUMBER()); + setBuilder.setTotalValueOutstanding(canonical_NUMBER()); + setBuilder.setManagementFeeOutstanding(canonical_NUMBER()); + setBuilder.setLoanScale(canonical_INT32()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getLoanOriginationFee(), "sfLoanOriginationFee"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getLoanServiceFee(), "sfLoanServiceFee"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getLatePaymentFee(), "sfLatePaymentFee"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getClosePaymentFee(), "sfClosePaymentFee"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getOverpaymentFee(), "sfOverpaymentFee"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getInterestRate(), "sfInterestRate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getLateInterestRate(), "sfLateInterestRate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getCloseInterestRate(), "sfCloseInterestRate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getOverpaymentInterestRate(), "sfOverpaymentInterestRate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getGracePeriod(), "sfGracePeriod"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getPreviousPaymentDueDate(), "sfPreviousPaymentDueDate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getNextPaymentDueDate(), "sfNextPaymentDueDate"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getPaymentRemaining(), "sfPaymentRemaining"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getPrincipalOutstanding(), "sfPrincipalOutstanding"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getTotalValueOutstanding(), "sfTotalValueOutstanding"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getManagementFeeOutstanding(), "sfManagementFeeOutstanding"); + } + { + auto const expected = canonical_INT32(); + expectEqualField(expected, setEntry.getLoanScale(), "sfLoanScale"); + } } } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenIssuanceTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenIssuanceTests.cpp index 8dc5960ee0..0ea5f153c1 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenIssuanceTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenIssuanceTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry MPTokenIssuance - - #include #include @@ -47,16 +45,16 @@ TEST(MPTokenIssuanceTests, BuilderSettersRoundTrip) previousTxnLgrSeqValue }; - builder.setTransferFee(transferFeeValue); - builder.setAssetScale(assetScaleValue); builder.setMaximumAmount(maximumAmountValue); builder.setLockedAmount(lockedAmountValue); builder.setMPTokenMetadata(mPTokenMetadataValue); builder.setDomainID(domainIDValue); - builder.setMutableFlags(mutableFlagsValue); builder.setReferenceHolding(referenceHoldingValue); builder.setIssuerEncryptionKey(issuerEncryptionKeyValue); builder.setAuditorEncryptionKey(auditorEncryptionKeyValue); + builder.setTransferFee(transferFeeValue); + builder.setAssetScale(assetScaleValue); + builder.setMutableFlags(mutableFlagsValue); builder.setConfidentialOutstandingAmount(confidentialOutstandingAmountValue); builder.setLedgerIndex(index); @@ -106,18 +104,26 @@ TEST(MPTokenIssuanceTests, BuilderSettersRoundTrip) { auto const& expected = transferFeeValue; - auto const actualOpt = entry.getTransferFee(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfTransferFee"); - EXPECT_TRUE(entry.hasTransferFee()); + auto const actual = entry.getTransferFee(); + expectEqualField(expected, actual, "sfTransferFee"); } { auto const& expected = assetScaleValue; - auto const actualOpt = entry.getAssetScale(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfAssetScale"); - EXPECT_TRUE(entry.hasAssetScale()); + auto const actual = entry.getAssetScale(); + expectEqualField(expected, actual, "sfAssetScale"); + } + + { + auto const& expected = mutableFlagsValue; + auto const actual = entry.getMutableFlags(); + expectEqualField(expected, actual, "sfMutableFlags"); + } + + { + auto const& expected = confidentialOutstandingAmountValue; + auto const actual = entry.getConfidentialOutstandingAmount(); + expectEqualField(expected, actual, "sfConfidentialOutstandingAmount"); } { @@ -152,14 +158,6 @@ TEST(MPTokenIssuanceTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasDomainID()); } - { - auto const& expected = mutableFlagsValue; - auto const actualOpt = entry.getMutableFlags(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfMutableFlags"); - EXPECT_TRUE(entry.hasMutableFlags()); - } - { auto const& expected = referenceHoldingValue; auto const actualOpt = entry.getReferenceHolding(); @@ -184,14 +182,6 @@ TEST(MPTokenIssuanceTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasAuditorEncryptionKey()); } - { - auto const& expected = confidentialOutstandingAmountValue; - auto const actualOpt = entry.getConfidentialOutstandingAmount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfConfidentialOutstandingAmount"); - EXPECT_TRUE(entry.hasConfidentialOutstandingAmount()); - } - EXPECT_TRUE(entry.hasLedgerIndex()); auto const ledgerIndex = entry.getLedgerIndex(); ASSERT_TRUE(ledgerIndex.has_value()); @@ -315,27 +305,41 @@ TEST(MPTokenIssuanceTests, BuilderFromSleRoundTrip) { auto const& expected = transferFeeValue; - auto const fromSleOpt = entryFromSle.getTransferFee(); - auto const fromBuilderOpt = entryFromBuilder.getTransferFee(); + auto const fromSle = entryFromSle.getTransferFee(); + auto const fromBuilder = entryFromBuilder.getTransferFee(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfTransferFee"); - expectEqualField(expected, *fromBuilderOpt, "sfTransferFee"); + expectEqualField(expected, fromSle, "sfTransferFee"); + expectEqualField(expected, fromBuilder, "sfTransferFee"); } { auto const& expected = assetScaleValue; - auto const fromSleOpt = entryFromSle.getAssetScale(); - auto const fromBuilderOpt = entryFromBuilder.getAssetScale(); + auto const fromSle = entryFromSle.getAssetScale(); + auto const fromBuilder = entryFromBuilder.getAssetScale(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); + expectEqualField(expected, fromSle, "sfAssetScale"); + expectEqualField(expected, fromBuilder, "sfAssetScale"); + } - expectEqualField(expected, *fromSleOpt, "sfAssetScale"); - expectEqualField(expected, *fromBuilderOpt, "sfAssetScale"); + { + auto const& expected = mutableFlagsValue; + + auto const fromSle = entryFromSle.getMutableFlags(); + auto const fromBuilder = entryFromBuilder.getMutableFlags(); + + expectEqualField(expected, fromSle, "sfMutableFlags"); + expectEqualField(expected, fromBuilder, "sfMutableFlags"); + } + + { + auto const& expected = confidentialOutstandingAmountValue; + + auto const fromSle = entryFromSle.getConfidentialOutstandingAmount(); + auto const fromBuilder = entryFromBuilder.getConfidentialOutstandingAmount(); + + expectEqualField(expected, fromSle, "sfConfidentialOutstandingAmount"); + expectEqualField(expected, fromBuilder, "sfConfidentialOutstandingAmount"); } { @@ -390,19 +394,6 @@ TEST(MPTokenIssuanceTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfDomainID"); } - { - auto const& expected = mutableFlagsValue; - - auto const fromSleOpt = entryFromSle.getMutableFlags(); - auto const fromBuilderOpt = entryFromBuilder.getMutableFlags(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfMutableFlags"); - expectEqualField(expected, *fromBuilderOpt, "sfMutableFlags"); - } - { auto const& expected = referenceHoldingValue; @@ -442,19 +433,6 @@ TEST(MPTokenIssuanceTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfAuditorEncryptionKey"); } - { - auto const& expected = confidentialOutstandingAmountValue; - - auto const fromSleOpt = entryFromSle.getConfidentialOutstandingAmount(); - auto const fromBuilderOpt = entryFromBuilder.getConfidentialOutstandingAmount(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfConfidentialOutstandingAmount"); - expectEqualField(expected, *fromBuilderOpt, "sfConfidentialOutstandingAmount"); - } - EXPECT_EQ(entryFromSle.getKey(), index); EXPECT_EQ(entryFromBuilder.getKey(), index); } @@ -519,10 +497,6 @@ TEST(MPTokenIssuanceTests, OptionalFieldsReturnNullopt) auto const entry = builder.build(index); // Verify optional fields are not present - EXPECT_FALSE(entry.hasTransferFee()); - EXPECT_FALSE(entry.getTransferFee().has_value()); - EXPECT_FALSE(entry.hasAssetScale()); - EXPECT_FALSE(entry.getAssetScale().has_value()); EXPECT_FALSE(entry.hasMaximumAmount()); EXPECT_FALSE(entry.getMaximumAmount().has_value()); EXPECT_FALSE(entry.hasLockedAmount()); @@ -531,15 +505,83 @@ TEST(MPTokenIssuanceTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.getMPTokenMetadata().has_value()); EXPECT_FALSE(entry.hasDomainID()); EXPECT_FALSE(entry.getDomainID().has_value()); - EXPECT_FALSE(entry.hasMutableFlags()); - EXPECT_FALSE(entry.getMutableFlags().has_value()); EXPECT_FALSE(entry.hasReferenceHolding()); EXPECT_FALSE(entry.getReferenceHolding().has_value()); EXPECT_FALSE(entry.hasIssuerEncryptionKey()); EXPECT_FALSE(entry.getIssuerEncryptionKey().has_value()); EXPECT_FALSE(entry.hasAuditorEncryptionKey()); EXPECT_FALSE(entry.getAuditorEncryptionKey().has_value()); - EXPECT_FALSE(entry.hasConfidentialOutstandingAmount()); - EXPECT_FALSE(entry.getConfidentialOutstandingAmount().has_value()); +} + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(MPTokenIssuanceTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const issuerValue = canonical_ACCOUNT(); + auto const sequenceValue = canonical_UINT32(); + auto const ownerNodeValue = canonical_UINT64(); + auto const outstandingAmountValue = canonical_UINT64(); + auto const previousTxnIDValue = canonical_UINT256(); + auto const previousTxnLgrSeqValue = canonical_UINT32(); + + // Unset: default fields return the type default. + MPTokenIssuanceBuilder defaultBuilder{ + issuerValue, + sequenceValue, + ownerNodeValue, + outstandingAmountValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_UINT16::type::value_type{}; + expectEqualField(expected, defaultEntry.getTransferFee(), "sfTransferFee"); + } + { + auto const expected = SF_UINT8::type::value_type{}; + expectEqualField(expected, defaultEntry.getAssetScale(), "sfAssetScale"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getMutableFlags(), "sfMutableFlags"); + } + { + auto const expected = SF_UINT64::type::value_type{}; + expectEqualField(expected, defaultEntry.getConfidentialOutstandingAmount(), "sfConfidentialOutstandingAmount"); + } + + // Set: default fields return the assigned value. + MPTokenIssuanceBuilder setBuilder{ + issuerValue, + sequenceValue, + ownerNodeValue, + outstandingAmountValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + setBuilder.setTransferFee(canonical_UINT16()); + setBuilder.setAssetScale(canonical_UINT8()); + setBuilder.setMutableFlags(canonical_UINT32()); + setBuilder.setConfidentialOutstandingAmount(canonical_UINT64()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_UINT16(); + expectEqualField(expected, setEntry.getTransferFee(), "sfTransferFee"); + } + { + auto const expected = canonical_UINT8(); + expectEqualField(expected, setEntry.getAssetScale(), "sfAssetScale"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getMutableFlags(), "sfMutableFlags"); + } + { + auto const expected = canonical_UINT64(); + expectEqualField(expected, setEntry.getConfidentialOutstandingAmount(), "sfConfidentialOutstandingAmount"); + } } } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenTests.cpp index 7db4b638a7..1f40893b28 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/MPTokenTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry MPToken - - #include #include @@ -42,14 +40,14 @@ TEST(MPTokenTests, BuilderSettersRoundTrip) previousTxnLgrSeqValue }; - builder.setMPTAmount(mPTAmountValue); builder.setLockedAmount(lockedAmountValue); builder.setConfidentialBalanceInbox(confidentialBalanceInboxValue); builder.setConfidentialBalanceSpending(confidentialBalanceSpendingValue); - builder.setConfidentialBalanceVersion(confidentialBalanceVersionValue); builder.setIssuerEncryptedBalance(issuerEncryptedBalanceValue); builder.setAuditorEncryptedBalance(auditorEncryptedBalanceValue); builder.setHolderEncryptionKey(holderEncryptionKeyValue); + builder.setMPTAmount(mPTAmountValue); + builder.setConfidentialBalanceVersion(confidentialBalanceVersionValue); builder.setLedgerIndex(index); builder.setFlags(0x1u); @@ -92,10 +90,14 @@ TEST(MPTokenTests, BuilderSettersRoundTrip) { auto const& expected = mPTAmountValue; - auto const actualOpt = entry.getMPTAmount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfMPTAmount"); - EXPECT_TRUE(entry.hasMPTAmount()); + auto const actual = entry.getMPTAmount(); + expectEqualField(expected, actual, "sfMPTAmount"); + } + + { + auto const& expected = confidentialBalanceVersionValue; + auto const actual = entry.getConfidentialBalanceVersion(); + expectEqualField(expected, actual, "sfConfidentialBalanceVersion"); } { @@ -122,14 +124,6 @@ TEST(MPTokenTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasConfidentialBalanceSpending()); } - { - auto const& expected = confidentialBalanceVersionValue; - auto const actualOpt = entry.getConfidentialBalanceVersion(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfConfidentialBalanceVersion"); - EXPECT_TRUE(entry.hasConfidentialBalanceVersion()); - } - { auto const& expected = issuerEncryptedBalanceValue; auto const actualOpt = entry.getIssuerEncryptedBalance(); @@ -259,14 +253,21 @@ TEST(MPTokenTests, BuilderFromSleRoundTrip) { auto const& expected = mPTAmountValue; - auto const fromSleOpt = entryFromSle.getMPTAmount(); - auto const fromBuilderOpt = entryFromBuilder.getMPTAmount(); + auto const fromSle = entryFromSle.getMPTAmount(); + auto const fromBuilder = entryFromBuilder.getMPTAmount(); - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); + expectEqualField(expected, fromSle, "sfMPTAmount"); + expectEqualField(expected, fromBuilder, "sfMPTAmount"); + } - expectEqualField(expected, *fromSleOpt, "sfMPTAmount"); - expectEqualField(expected, *fromBuilderOpt, "sfMPTAmount"); + { + auto const& expected = confidentialBalanceVersionValue; + + auto const fromSle = entryFromSle.getConfidentialBalanceVersion(); + auto const fromBuilder = entryFromBuilder.getConfidentialBalanceVersion(); + + expectEqualField(expected, fromSle, "sfConfidentialBalanceVersion"); + expectEqualField(expected, fromBuilder, "sfConfidentialBalanceVersion"); } { @@ -308,19 +309,6 @@ TEST(MPTokenTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfConfidentialBalanceSpending"); } - { - auto const& expected = confidentialBalanceVersionValue; - - auto const fromSleOpt = entryFromSle.getConfidentialBalanceVersion(); - auto const fromBuilderOpt = entryFromBuilder.getConfidentialBalanceVersion(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfConfidentialBalanceVersion"); - expectEqualField(expected, *fromBuilderOpt, "sfConfidentialBalanceVersion"); - } - { auto const& expected = issuerEncryptedBalanceValue; @@ -422,16 +410,12 @@ TEST(MPTokenTests, OptionalFieldsReturnNullopt) auto const entry = builder.build(index); // Verify optional fields are not present - EXPECT_FALSE(entry.hasMPTAmount()); - EXPECT_FALSE(entry.getMPTAmount().has_value()); EXPECT_FALSE(entry.hasLockedAmount()); EXPECT_FALSE(entry.getLockedAmount().has_value()); EXPECT_FALSE(entry.hasConfidentialBalanceInbox()); EXPECT_FALSE(entry.getConfidentialBalanceInbox().has_value()); EXPECT_FALSE(entry.hasConfidentialBalanceSpending()); EXPECT_FALSE(entry.getConfidentialBalanceSpending().has_value()); - EXPECT_FALSE(entry.hasConfidentialBalanceVersion()); - EXPECT_FALSE(entry.getConfidentialBalanceVersion().has_value()); EXPECT_FALSE(entry.hasIssuerEncryptedBalance()); EXPECT_FALSE(entry.getIssuerEncryptedBalance().has_value()); EXPECT_FALSE(entry.hasAuditorEncryptedBalance()); @@ -439,4 +423,55 @@ TEST(MPTokenTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasHolderEncryptionKey()); EXPECT_FALSE(entry.getHolderEncryptionKey().has_value()); } + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(MPTokenTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const accountValue = canonical_ACCOUNT(); + auto const mPTokenIssuanceIDValue = canonical_UINT192(); + auto const ownerNodeValue = canonical_UINT64(); + auto const previousTxnIDValue = canonical_UINT256(); + auto const previousTxnLgrSeqValue = canonical_UINT32(); + + // Unset: default fields return the type default. + MPTokenBuilder defaultBuilder{ + accountValue, + mPTokenIssuanceIDValue, + ownerNodeValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_UINT64::type::value_type{}; + expectEqualField(expected, defaultEntry.getMPTAmount(), "sfMPTAmount"); + } + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getConfidentialBalanceVersion(), "sfConfidentialBalanceVersion"); + } + + // Set: default fields return the assigned value. + MPTokenBuilder setBuilder{ + accountValue, + mPTokenIssuanceIDValue, + ownerNodeValue, + previousTxnIDValue, + previousTxnLgrSeqValue + }; + setBuilder.setMPTAmount(canonical_UINT64()); + setBuilder.setConfidentialBalanceVersion(canonical_UINT32()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_UINT64(); + expectEqualField(expected, setEntry.getMPTAmount(), "sfMPTAmount"); + } + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getConfidentialBalanceVersion(), "sfConfidentialBalanceVersion"); + } +} } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenOfferTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenOfferTests.cpp index 9d039b2c38..4c4bdbec51 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenOfferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenOfferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry NFTokenOffer - - #include #include @@ -321,4 +319,5 @@ TEST(NFTokenOfferTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasExpiration()); EXPECT_FALSE(entry.getExpiration().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenPageTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenPageTests.cpp index 5909050169..155ec4de39 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenPageTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/NFTokenPageTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry NFTokenPage - - #include #include @@ -233,4 +231,5 @@ TEST(NFTokenPageTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasNextPageMin()); EXPECT_FALSE(entry.getNextPageMin().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/NegativeUNLTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/NegativeUNLTests.cpp index 48ff060c11..47e9b1d0b5 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/NegativeUNLTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/NegativeUNLTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry NegativeUNL - - #include #include @@ -248,4 +246,5 @@ TEST(NegativeUNLTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasPreviousTxnLgrSeq()); EXPECT_FALSE(entry.getPreviousTxnLgrSeq().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/OfferTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/OfferTests.cpp index 5cb1bbd804..dbaef28039 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/OfferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/OfferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Offer - - #include #include @@ -392,4 +390,5 @@ TEST(OfferTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasAdditionalBooks()); EXPECT_FALSE(entry.getAdditionalBooks().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/OracleTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/OracleTests.cpp index 837fd576bf..672864d8a3 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/OracleTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/OracleTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Oracle - - #include #include @@ -343,4 +341,5 @@ TEST(OracleTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasURI()); EXPECT_FALSE(entry.getURI().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/PayChannelTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/PayChannelTests.cpp index 7c31252369..7c9328c061 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/PayChannelTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/PayChannelTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry PayChannel - - #include #include @@ -473,4 +471,5 @@ TEST(PayChannelTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasDestinationNode()); EXPECT_FALSE(entry.getDestinationNode().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/PermissionedDomainTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/PermissionedDomainTests.cpp index c448d064cf..903ed0cff5 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/PermissionedDomainTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/PermissionedDomainTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry PermissionedDomain - - #include #include @@ -220,4 +218,5 @@ TEST(PermissionedDomainTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(PermissionedDomainBuilder{wrongEntry.getSle()}, std::runtime_error); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/RippleStateTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/RippleStateTests.cpp index de0769793b..c290a265a9 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/RippleStateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/RippleStateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry RippleState - - #include #include @@ -439,4 +437,5 @@ TEST(RippleStateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasLowSponsor()); EXPECT_FALSE(entry.getLowSponsor().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/SignerListTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/SignerListTests.cpp index 5ec2c4e10d..4b4f2716e4 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/SignerListTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/SignerListTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry SignerList - - #include #include @@ -272,4 +270,5 @@ TEST(SignerListTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.hasOwner()); EXPECT_FALSE(entry.getOwner().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/SponsorshipTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/SponsorshipTests.cpp index e1d9ff15b9..05552b22b4 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/SponsorshipTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/SponsorshipTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Sponsorship - - #include #include @@ -88,6 +86,12 @@ TEST(SponsorshipTests, BuilderSettersRoundTrip) expectEqualField(expected, actual, "sfSponseeNode"); } + { + auto const& expected = remainingOwnerCountValue; + auto const actual = entry.getRemainingOwnerCount(); + expectEqualField(expected, actual, "sfRemainingOwnerCount"); + } + { auto const& expected = feeAmountValue; auto const actualOpt = entry.getFeeAmount(); @@ -104,14 +108,6 @@ TEST(SponsorshipTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasMaxFee()); } - { - auto const& expected = remainingOwnerCountValue; - auto const actualOpt = entry.getRemainingOwnerCount(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfRemainingOwnerCount"); - EXPECT_TRUE(entry.hasRemainingOwnerCount()); - } - EXPECT_TRUE(entry.hasLedgerIndex()); auto const ledgerIndex = entry.getLedgerIndex(); ASSERT_TRUE(ledgerIndex.has_value()); @@ -216,6 +212,16 @@ TEST(SponsorshipTests, BuilderFromSleRoundTrip) expectEqualField(expected, fromBuilder, "sfSponseeNode"); } + { + auto const& expected = remainingOwnerCountValue; + + auto const fromSle = entryFromSle.getRemainingOwnerCount(); + auto const fromBuilder = entryFromBuilder.getRemainingOwnerCount(); + + expectEqualField(expected, fromSle, "sfRemainingOwnerCount"); + expectEqualField(expected, fromBuilder, "sfRemainingOwnerCount"); + } + { auto const& expected = feeAmountValue; @@ -242,19 +248,6 @@ TEST(SponsorshipTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfMaxFee"); } - { - auto const& expected = remainingOwnerCountValue; - - auto const fromSleOpt = entryFromSle.getRemainingOwnerCount(); - auto const fromBuilderOpt = entryFromBuilder.getRemainingOwnerCount(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfRemainingOwnerCount"); - expectEqualField(expected, *fromBuilderOpt, "sfRemainingOwnerCount"); - } - EXPECT_EQ(entryFromSle.getKey(), index); EXPECT_EQ(entryFromBuilder.getKey(), index); } @@ -323,7 +316,50 @@ TEST(SponsorshipTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(entry.getFeeAmount().has_value()); EXPECT_FALSE(entry.hasMaxFee()); EXPECT_FALSE(entry.getMaxFee().has_value()); - EXPECT_FALSE(entry.hasRemainingOwnerCount()); - EXPECT_FALSE(entry.getRemainingOwnerCount().has_value()); +} + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(SponsorshipTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const previousTxnIDValue = canonical_UINT256(); + auto const previousTxnLgrSeqValue = canonical_UINT32(); + auto const ownerValue = canonical_ACCOUNT(); + auto const sponseeValue = canonical_ACCOUNT(); + auto const ownerNodeValue = canonical_UINT64(); + auto const sponseeNodeValue = canonical_UINT64(); + + // Unset: default fields return the type default. + SponsorshipBuilder defaultBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + ownerValue, + sponseeValue, + ownerNodeValue, + sponseeNodeValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_UINT32::type::value_type{}; + expectEqualField(expected, defaultEntry.getRemainingOwnerCount(), "sfRemainingOwnerCount"); + } + + // Set: default fields return the assigned value. + SponsorshipBuilder setBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + ownerValue, + sponseeValue, + ownerNodeValue, + sponseeNodeValue + }; + setBuilder.setRemainingOwnerCount(canonical_UINT32()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_UINT32(); + expectEqualField(expected, setEntry.getRemainingOwnerCount(), "sfRemainingOwnerCount"); + } } } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/TicketTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/TicketTests.cpp index 1ac00288f0..5e0a76d813 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/TicketTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/TicketTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Ticket - - #include #include @@ -206,4 +204,5 @@ TEST(TicketTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(TicketBuilder{wrongEntry.getSle()}, std::runtime_error); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/VaultTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/VaultTests.cpp index 2697924d37..e7557e9469 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/VaultTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/VaultTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry Vault - - #include #include @@ -118,6 +116,36 @@ TEST(VaultTests, BuilderSettersRoundTrip) expectEqualField(expected, actual, "sfWithdrawalPolicy"); } + { + auto const& expected = assetsTotalValue; + auto const actual = entry.getAssetsTotal(); + expectEqualField(expected, actual, "sfAssetsTotal"); + } + + { + auto const& expected = assetsAvailableValue; + auto const actual = entry.getAssetsAvailable(); + expectEqualField(expected, actual, "sfAssetsAvailable"); + } + + { + auto const& expected = assetsMaximumValue; + auto const actual = entry.getAssetsMaximum(); + expectEqualField(expected, actual, "sfAssetsMaximum"); + } + + { + auto const& expected = lossUnrealizedValue; + auto const actual = entry.getLossUnrealized(); + expectEqualField(expected, actual, "sfLossUnrealized"); + } + + { + auto const& expected = scaleValue; + auto const actual = entry.getScale(); + expectEqualField(expected, actual, "sfScale"); + } + { auto const& expected = dataValue; auto const actualOpt = entry.getData(); @@ -126,46 +154,6 @@ TEST(VaultTests, BuilderSettersRoundTrip) EXPECT_TRUE(entry.hasData()); } - { - auto const& expected = assetsTotalValue; - auto const actualOpt = entry.getAssetsTotal(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfAssetsTotal"); - EXPECT_TRUE(entry.hasAssetsTotal()); - } - - { - auto const& expected = assetsAvailableValue; - auto const actualOpt = entry.getAssetsAvailable(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfAssetsAvailable"); - EXPECT_TRUE(entry.hasAssetsAvailable()); - } - - { - auto const& expected = assetsMaximumValue; - auto const actualOpt = entry.getAssetsMaximum(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfAssetsMaximum"); - EXPECT_TRUE(entry.hasAssetsMaximum()); - } - - { - auto const& expected = lossUnrealizedValue; - auto const actualOpt = entry.getLossUnrealized(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfLossUnrealized"); - EXPECT_TRUE(entry.hasLossUnrealized()); - } - - { - auto const& expected = scaleValue; - auto const actualOpt = entry.getScale(); - ASSERT_TRUE(actualOpt.has_value()); - expectEqualField(expected, *actualOpt, "sfScale"); - EXPECT_TRUE(entry.hasScale()); - } - EXPECT_TRUE(entry.hasLedgerIndex()); auto const ledgerIndex = entry.getLedgerIndex(); ASSERT_TRUE(ledgerIndex.has_value()); @@ -312,6 +300,56 @@ TEST(VaultTests, BuilderFromSleRoundTrip) expectEqualField(expected, fromBuilder, "sfWithdrawalPolicy"); } + { + auto const& expected = assetsTotalValue; + + auto const fromSle = entryFromSle.getAssetsTotal(); + auto const fromBuilder = entryFromBuilder.getAssetsTotal(); + + expectEqualField(expected, fromSle, "sfAssetsTotal"); + expectEqualField(expected, fromBuilder, "sfAssetsTotal"); + } + + { + auto const& expected = assetsAvailableValue; + + auto const fromSle = entryFromSle.getAssetsAvailable(); + auto const fromBuilder = entryFromBuilder.getAssetsAvailable(); + + expectEqualField(expected, fromSle, "sfAssetsAvailable"); + expectEqualField(expected, fromBuilder, "sfAssetsAvailable"); + } + + { + auto const& expected = assetsMaximumValue; + + auto const fromSle = entryFromSle.getAssetsMaximum(); + auto const fromBuilder = entryFromBuilder.getAssetsMaximum(); + + expectEqualField(expected, fromSle, "sfAssetsMaximum"); + expectEqualField(expected, fromBuilder, "sfAssetsMaximum"); + } + + { + auto const& expected = lossUnrealizedValue; + + auto const fromSle = entryFromSle.getLossUnrealized(); + auto const fromBuilder = entryFromBuilder.getLossUnrealized(); + + expectEqualField(expected, fromSle, "sfLossUnrealized"); + expectEqualField(expected, fromBuilder, "sfLossUnrealized"); + } + + { + auto const& expected = scaleValue; + + auto const fromSle = entryFromSle.getScale(); + auto const fromBuilder = entryFromBuilder.getScale(); + + expectEqualField(expected, fromSle, "sfScale"); + expectEqualField(expected, fromBuilder, "sfScale"); + } + { auto const& expected = dataValue; @@ -325,71 +363,6 @@ TEST(VaultTests, BuilderFromSleRoundTrip) expectEqualField(expected, *fromBuilderOpt, "sfData"); } - { - auto const& expected = assetsTotalValue; - - auto const fromSleOpt = entryFromSle.getAssetsTotal(); - auto const fromBuilderOpt = entryFromBuilder.getAssetsTotal(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfAssetsTotal"); - expectEqualField(expected, *fromBuilderOpt, "sfAssetsTotal"); - } - - { - auto const& expected = assetsAvailableValue; - - auto const fromSleOpt = entryFromSle.getAssetsAvailable(); - auto const fromBuilderOpt = entryFromBuilder.getAssetsAvailable(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfAssetsAvailable"); - expectEqualField(expected, *fromBuilderOpt, "sfAssetsAvailable"); - } - - { - auto const& expected = assetsMaximumValue; - - auto const fromSleOpt = entryFromSle.getAssetsMaximum(); - auto const fromBuilderOpt = entryFromBuilder.getAssetsMaximum(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfAssetsMaximum"); - expectEqualField(expected, *fromBuilderOpt, "sfAssetsMaximum"); - } - - { - auto const& expected = lossUnrealizedValue; - - auto const fromSleOpt = entryFromSle.getLossUnrealized(); - auto const fromBuilderOpt = entryFromBuilder.getLossUnrealized(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfLossUnrealized"); - expectEqualField(expected, *fromBuilderOpt, "sfLossUnrealized"); - } - - { - auto const& expected = scaleValue; - - auto const fromSleOpt = entryFromSle.getScale(); - auto const fromBuilderOpt = entryFromBuilder.getScale(); - - ASSERT_TRUE(fromSleOpt.has_value()); - ASSERT_TRUE(fromBuilderOpt.has_value()); - - expectEqualField(expected, *fromSleOpt, "sfScale"); - expectEqualField(expected, *fromBuilderOpt, "sfScale"); - } - EXPECT_EQ(entryFromSle.getKey(), index); EXPECT_EQ(entryFromBuilder.getKey(), index); } @@ -462,15 +435,95 @@ TEST(VaultTests, OptionalFieldsReturnNullopt) // Verify optional fields are not present EXPECT_FALSE(entry.hasData()); EXPECT_FALSE(entry.getData().has_value()); - EXPECT_FALSE(entry.hasAssetsTotal()); - EXPECT_FALSE(entry.getAssetsTotal().has_value()); - EXPECT_FALSE(entry.hasAssetsAvailable()); - EXPECT_FALSE(entry.getAssetsAvailable().has_value()); - EXPECT_FALSE(entry.hasAssetsMaximum()); - EXPECT_FALSE(entry.getAssetsMaximum().has_value()); - EXPECT_FALSE(entry.hasLossUnrealized()); - EXPECT_FALSE(entry.getLossUnrealized().has_value()); - EXPECT_FALSE(entry.hasScale()); - EXPECT_FALSE(entry.getScale().has_value()); +} + +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(VaultTests, DefaultFieldsRoundTrip) +{ + uint256 const index{4u}; + + auto const previousTxnIDValue = canonical_UINT256(); + auto const previousTxnLgrSeqValue = canonical_UINT32(); + auto const sequenceValue = canonical_UINT32(); + auto const ownerNodeValue = canonical_UINT64(); + auto const ownerValue = canonical_ACCOUNT(); + auto const accountValue = canonical_ACCOUNT(); + auto const assetValue = canonical_ISSUE(); + auto const shareMPTIDValue = canonical_UINT192(); + auto const withdrawalPolicyValue = canonical_UINT8(); + + // Unset: default fields return the type default. + VaultBuilder defaultBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + sequenceValue, + ownerNodeValue, + ownerValue, + accountValue, + assetValue, + shareMPTIDValue, + withdrawalPolicyValue + }; + auto const defaultEntry = defaultBuilder.build(index); + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getAssetsTotal(), "sfAssetsTotal"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getAssetsAvailable(), "sfAssetsAvailable"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getAssetsMaximum(), "sfAssetsMaximum"); + } + { + auto const expected = SF_NUMBER::type::value_type{}; + expectEqualField(expected, defaultEntry.getLossUnrealized(), "sfLossUnrealized"); + } + { + auto const expected = SF_UINT8::type::value_type{}; + expectEqualField(expected, defaultEntry.getScale(), "sfScale"); + } + + // Set: default fields return the assigned value. + VaultBuilder setBuilder{ + previousTxnIDValue, + previousTxnLgrSeqValue, + sequenceValue, + ownerNodeValue, + ownerValue, + accountValue, + assetValue, + shareMPTIDValue, + withdrawalPolicyValue + }; + setBuilder.setAssetsTotal(canonical_NUMBER()); + setBuilder.setAssetsAvailable(canonical_NUMBER()); + setBuilder.setAssetsMaximum(canonical_NUMBER()); + setBuilder.setLossUnrealized(canonical_NUMBER()); + setBuilder.setScale(canonical_UINT8()); + auto const setEntry = setBuilder.build(index); + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getAssetsTotal(), "sfAssetsTotal"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getAssetsAvailable(), "sfAssetsAvailable"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getAssetsMaximum(), "sfAssetsMaximum"); + } + { + auto const expected = canonical_NUMBER(); + expectEqualField(expected, setEntry.getLossUnrealized(), "sfLossUnrealized"); + } + { + auto const expected = canonical_UINT8(); + expectEqualField(expected, setEntry.getScale(), "sfScale"); + } } } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedClaimIDTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedClaimIDTests.cpp index 4b6979b86a..619bb8d5e6 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedClaimIDTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedClaimIDTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry XChainOwnedClaimID - - #include #include @@ -280,4 +278,5 @@ TEST(XChainOwnedClaimIDTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(XChainOwnedClaimIDBuilder{wrongEntry.getSle()}, std::runtime_error); } + } diff --git a/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedCreateAccountClaimIDTests.cpp b/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedCreateAccountClaimIDTests.cpp index 0e4e1fb977..172025724d 100644 --- a/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedCreateAccountClaimIDTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/ledger_entries/XChainOwnedCreateAccountClaimIDTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for ledger entry XChainOwnedCreateAccountClaimID - - #include #include @@ -240,4 +238,5 @@ TEST(XChainOwnedCreateAccountClaimIDTests, BuilderThrowsOnWrongEntryType) EXPECT_THROW(XChainOwnedCreateAccountClaimIDBuilder{wrongEntry.getSle()}, std::runtime_error); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMBidTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMBidTests.cpp index 89c8736279..445efb9ec2 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMBidTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMBidTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMBid - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsAMMBidTests, BuilderSettersRoundTrip) builder.setBidMin(bidMinValue); builder.setBidMax(bidMaxValue); builder.setAuthAccounts(authAccountsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsAMMBidTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -150,7 +149,7 @@ TEST(TransactionsAMMBidTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -252,4 +251,5 @@ TEST(TransactionsAMMBidTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAuthAccounts().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMClawbackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMClawbackTests.cpp index 13a6d67d51..30bc1534ee 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMClawbackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMClawbackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMClawback - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsAMMClawbackTests, BuilderSettersRoundTrip) // Set optional fields builder.setAmount(amountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsAMMClawbackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = holderValue; auto const actual = tx.getHolder(); @@ -136,7 +135,7 @@ TEST(TransactionsAMMClawbackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = holderValue; auto const actual = rebuiltTx.getHolder(); @@ -228,4 +227,5 @@ TEST(TransactionsAMMClawbackTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMCreateTests.cpp index a8a36270d6..4726737c05 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMCreate - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsAMMCreateTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsAMMCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = amountValue; auto const actual = tx.getAmount(); @@ -124,7 +123,7 @@ TEST(TransactionsAMMCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = amountValue; auto const actual = rebuiltTx.getAmount(); @@ -175,4 +174,5 @@ TEST(TransactionsAMMCreateTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMDeleteTests.cpp index adde343090..bbcd3fcde2 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMDelete - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsAMMDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsAMMDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -114,7 +113,7 @@ TEST(TransactionsAMMDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -159,4 +158,5 @@ TEST(TransactionsAMMDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMDepositTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMDepositTests.cpp index 407095eea6..8bb7c6c31e 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMDepositTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMDepositTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMDeposit - - #include #include @@ -51,6 +49,7 @@ TEST(TransactionsAMMDepositTests, BuilderSettersRoundTrip) builder.setEPrice(ePriceValue); builder.setLPTokenOut(lPTokenOutValue); builder.setTradingFee(tradingFeeValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -66,7 +65,7 @@ TEST(TransactionsAMMDepositTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -174,7 +173,7 @@ TEST(TransactionsAMMDepositTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -294,4 +293,5 @@ TEST(TransactionsAMMDepositTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getTradingFee().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMVoteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMVoteTests.cpp index 4e131a3b42..07de373ba7 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMVoteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMVoteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMVote - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsAMMVoteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsAMMVoteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -124,7 +123,7 @@ TEST(TransactionsAMMVoteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -175,4 +174,5 @@ TEST(TransactionsAMMVoteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AMMWithdrawTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AMMWithdrawTests.cpp index d99dc5c3cd..4f71f5e2c6 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AMMWithdrawTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AMMWithdrawTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AMMWithdraw - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsAMMWithdrawTests, BuilderSettersRoundTrip) builder.setAmount2(amount2Value); builder.setEPrice(ePriceValue); builder.setLPTokenIn(lPTokenInValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsAMMWithdrawTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -162,7 +161,7 @@ TEST(TransactionsAMMWithdrawTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -273,4 +272,5 @@ TEST(TransactionsAMMWithdrawTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getLPTokenIn().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AccountDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AccountDeleteTests.cpp index 2bbd2104fd..8ec1cbf54e 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AccountDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AccountDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AccountDelete - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsAccountDeleteTests, BuilderSettersRoundTrip) // Set optional fields builder.setDestinationTag(destinationTagValue); builder.setCredentialIDs(credentialIDsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsAccountDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = tx.getDestination(); @@ -128,7 +127,7 @@ TEST(TransactionsAccountDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = rebuiltTx.getDestination(); @@ -213,4 +212,5 @@ TEST(TransactionsAccountDeleteTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getCredentialIDs().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/AccountSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/AccountSetTests.cpp index 98a90964be..fb901da4c7 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/AccountSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/AccountSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction AccountSet - - #include #include @@ -57,6 +55,7 @@ TEST(TransactionsAccountSetTests, BuilderSettersRoundTrip) builder.setClearFlag(clearFlagValue); builder.setTickSize(tickSizeValue); builder.setNFTokenMinter(nFTokenMinterValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -72,7 +71,7 @@ TEST(TransactionsAccountSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = emailHashValue; @@ -214,7 +213,7 @@ TEST(TransactionsAccountSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = emailHashValue; @@ -363,4 +362,5 @@ TEST(TransactionsAccountSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getNFTokenMinter().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/BatchTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/BatchTests.cpp index 6596e6026f..488882ab44 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/BatchTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/BatchTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction Batch - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsBatchTests, BuilderSettersRoundTrip) // Set optional fields builder.setBatchSigners(batchSignersValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsBatchTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = rawTransactionsValue; auto const actual = tx.getRawTransactions(); @@ -116,7 +115,7 @@ TEST(TransactionsBatchTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = rawTransactionsValue; auto const actual = rebuiltTx.getRawTransactions(); @@ -192,4 +191,5 @@ TEST(TransactionsBatchTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getBatchSigners().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CheckCancelTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CheckCancelTests.cpp index 330a8851c6..f9f751dc37 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CheckCancelTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CheckCancelTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CheckCancel - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsCheckCancelTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsCheckCancelTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = checkIDValue; auto const actual = tx.getCheckID(); @@ -104,7 +103,7 @@ TEST(TransactionsCheckCancelTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = checkIDValue; auto const actual = rebuiltTx.getCheckID(); @@ -143,4 +142,5 @@ TEST(TransactionsCheckCancelTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CheckCashTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CheckCashTests.cpp index 3a00c95593..47c7b387d3 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CheckCashTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CheckCashTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CheckCash - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsCheckCashTests, BuilderSettersRoundTrip) // Set optional fields builder.setAmount(amountValue); builder.setDeliverMin(deliverMinValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsCheckCashTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = checkIDValue; auto const actual = tx.getCheckID(); @@ -128,7 +127,7 @@ TEST(TransactionsCheckCashTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = checkIDValue; auto const actual = rebuiltTx.getCheckID(); @@ -213,4 +212,5 @@ TEST(TransactionsCheckCashTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDeliverMin().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CheckCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CheckCreateTests.cpp index f4f10d850f..3ab6d2d8ce 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CheckCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CheckCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CheckCreate - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsCheckCreateTests, BuilderSettersRoundTrip) builder.setExpiration(expirationValue); builder.setDestinationTag(destinationTagValue); builder.setInvoiceID(invoiceIDValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsCheckCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = tx.getDestination(); @@ -150,7 +149,7 @@ TEST(TransactionsCheckCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = rebuiltTx.getDestination(); @@ -252,4 +251,5 @@ TEST(TransactionsCheckCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getInvoiceID().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ClawbackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ClawbackTests.cpp index 0ee34304d7..9040a11227 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ClawbackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ClawbackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction Clawback - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsClawbackTests, BuilderSettersRoundTrip) // Set optional fields builder.setHolder(holderValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsClawbackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = amountValue; auto const actual = tx.getAmount(); @@ -116,7 +115,7 @@ TEST(TransactionsClawbackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = amountValue; auto const actual = rebuiltTx.getAmount(); @@ -192,4 +191,5 @@ TEST(TransactionsClawbackTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getHolder().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTClawbackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTClawbackTests.cpp index 611bc18465..21e02c35a6 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTClawbackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTClawbackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction ConfidentialMPTClawback - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsConfidentialMPTClawbackTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsConfidentialMPTClawbackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -134,7 +133,7 @@ TEST(TransactionsConfidentialMPTClawbackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -191,4 +190,5 @@ TEST(TransactionsConfidentialMPTClawbackTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertBackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertBackTests.cpp index 1a5fb3a046..288e1edfb9 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertBackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertBackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction ConfidentialMPTConvertBack - - #include #include @@ -53,6 +51,7 @@ TEST(TransactionsConfidentialMPTConvertBackTests, BuilderSettersRoundTrip) // Set optional fields builder.setAuditorEncryptedAmount(auditorEncryptedAmountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -68,7 +67,7 @@ TEST(TransactionsConfidentialMPTConvertBackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -176,7 +175,7 @@ TEST(TransactionsConfidentialMPTConvertBackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -300,4 +299,5 @@ TEST(TransactionsConfidentialMPTConvertBackTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAuditorEncryptedAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertTests.cpp index 6110196353..cba6f04cb5 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTConvertTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction ConfidentialMPTConvert - - #include #include @@ -53,6 +51,7 @@ TEST(TransactionsConfidentialMPTConvertTests, BuilderSettersRoundTrip) builder.setHolderEncryptionKey(holderEncryptionKeyValue); builder.setAuditorEncryptedAmount(auditorEncryptedAmountValue); builder.setZKProof(zKProofValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -68,7 +67,7 @@ TEST(TransactionsConfidentialMPTConvertTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -180,7 +179,7 @@ TEST(TransactionsConfidentialMPTConvertTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -306,4 +305,5 @@ TEST(TransactionsConfidentialMPTConvertTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getZKProof().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTMergeInboxTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTMergeInboxTests.cpp index bfc3ec4f0d..1860f75728 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTMergeInboxTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTMergeInboxTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction ConfidentialMPTMergeInbox - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsConfidentialMPTMergeInboxTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsConfidentialMPTMergeInboxTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -104,7 +103,7 @@ TEST(TransactionsConfidentialMPTMergeInboxTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -143,4 +142,5 @@ TEST(TransactionsConfidentialMPTMergeInboxTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTSendTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTSendTests.cpp index ca7793dece..129709c476 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTSendTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/ConfidentialMPTSendTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction ConfidentialMPTSend - - #include #include @@ -59,6 +57,7 @@ TEST(TransactionsConfidentialMPTSendTests, BuilderSettersRoundTrip) builder.setDestinationTag(destinationTagValue); builder.setAuditorEncryptedAmount(auditorEncryptedAmountValue); builder.setCredentialIDs(credentialIDsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -74,7 +73,7 @@ TEST(TransactionsConfidentialMPTSendTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -210,7 +209,7 @@ TEST(TransactionsConfidentialMPTSendTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -360,4 +359,5 @@ TEST(TransactionsConfidentialMPTSendTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getCredentialIDs().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CredentialAcceptTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CredentialAcceptTests.cpp index 509a80a306..5f8228c0cb 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CredentialAcceptTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CredentialAcceptTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CredentialAccept - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsCredentialAcceptTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsCredentialAcceptTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = issuerValue; auto const actual = tx.getIssuer(); @@ -114,7 +113,7 @@ TEST(TransactionsCredentialAcceptTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = issuerValue; auto const actual = rebuiltTx.getIssuer(); @@ -159,4 +158,5 @@ TEST(TransactionsCredentialAcceptTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CredentialCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CredentialCreateTests.cpp index 0ed801a56b..350fa16770 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CredentialCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CredentialCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CredentialCreate - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsCredentialCreateTests, BuilderSettersRoundTrip) // Set optional fields builder.setExpiration(expirationValue); builder.setURI(uRIValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsCredentialCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = subjectValue; auto const actual = tx.getSubject(); @@ -138,7 +137,7 @@ TEST(TransactionsCredentialCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = subjectValue; auto const actual = rebuiltTx.getSubject(); @@ -231,4 +230,5 @@ TEST(TransactionsCredentialCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getURI().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/CredentialDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/CredentialDeleteTests.cpp index 910599a1e1..6cb1a41bbd 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/CredentialDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/CredentialDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction CredentialDelete - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsCredentialDeleteTests, BuilderSettersRoundTrip) // Set optional fields builder.setSubject(subjectValue); builder.setIssuer(issuerValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsCredentialDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = credentialTypeValue; auto const actual = tx.getCredentialType(); @@ -128,7 +127,7 @@ TEST(TransactionsCredentialDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = credentialTypeValue; auto const actual = rebuiltTx.getCredentialType(); @@ -213,4 +212,5 @@ TEST(TransactionsCredentialDeleteTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getIssuer().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/DIDDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/DIDDeleteTests.cpp index fb23d78e88..1e5bb0bc1a 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/DIDDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/DIDDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction DIDDelete - - #include #include @@ -37,6 +35,7 @@ TEST(TransactionsDIDDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -52,7 +51,7 @@ TEST(TransactionsDIDDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields } @@ -94,7 +93,7 @@ TEST(TransactionsDIDDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields } @@ -127,4 +126,5 @@ TEST(TransactionsDIDDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/DIDSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/DIDSetTests.cpp index fc52ffc749..17a399996e 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/DIDSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/DIDSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction DIDSet - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsDIDSetTests, BuilderSettersRoundTrip) builder.setDIDDocument(dIDDocumentValue); builder.setURI(uRIValue); builder.setData(dataValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsDIDSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = dIDDocumentValue; @@ -130,7 +129,7 @@ TEST(TransactionsDIDSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = dIDDocumentValue; @@ -216,4 +215,5 @@ TEST(TransactionsDIDSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getData().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/DelegateSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/DelegateSetTests.cpp index 86af2905c9..61de93ce8f 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/DelegateSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/DelegateSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction DelegateSet - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsDelegateSetTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsDelegateSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = authorizeValue; auto const actual = tx.getAuthorize(); @@ -114,7 +113,7 @@ TEST(TransactionsDelegateSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = authorizeValue; auto const actual = rebuiltTx.getAuthorize(); @@ -159,4 +158,5 @@ TEST(TransactionsDelegateSetTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/DepositPreauthTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/DepositPreauthTests.cpp index e02cae0a84..8e068e5f3d 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/DepositPreauthTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/DepositPreauthTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction DepositPreauth - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsDepositPreauthTests, BuilderSettersRoundTrip) builder.setUnauthorize(unauthorizeValue); builder.setAuthorizeCredentials(authorizeCredentialsValue); builder.setUnauthorizeCredentials(unauthorizeCredentialsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsDepositPreauthTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = authorizeValue; @@ -142,7 +141,7 @@ TEST(TransactionsDepositPreauthTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = authorizeValue; @@ -237,4 +236,5 @@ TEST(TransactionsDepositPreauthTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getUnauthorizeCredentials().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/EnableAmendmentTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/EnableAmendmentTests.cpp index 7586c89bce..fc893e40b1 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/EnableAmendmentTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/EnableAmendmentTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction EnableAmendment - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsEnableAmendmentTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsEnableAmendmentTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ledgerSequenceValue; auto const actual = tx.getLedgerSequence(); @@ -114,7 +113,7 @@ TEST(TransactionsEnableAmendmentTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ledgerSequenceValue; auto const actual = rebuiltTx.getLedgerSequence(); @@ -159,4 +158,5 @@ TEST(TransactionsEnableAmendmentTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/EscrowCancelTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/EscrowCancelTests.cpp index 73a0a12bca..571b48663f 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/EscrowCancelTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/EscrowCancelTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction EscrowCancel - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsEscrowCancelTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsEscrowCancelTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ownerValue; auto const actual = tx.getOwner(); @@ -114,7 +113,7 @@ TEST(TransactionsEscrowCancelTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ownerValue; auto const actual = rebuiltTx.getOwner(); @@ -159,4 +158,5 @@ TEST(TransactionsEscrowCancelTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/EscrowCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/EscrowCreateTests.cpp index 1d62fadb20..5a9f5eed80 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/EscrowCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/EscrowCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction EscrowCreate - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsEscrowCreateTests, BuilderSettersRoundTrip) builder.setCancelAfter(cancelAfterValue); builder.setFinishAfter(finishAfterValue); builder.setDestinationTag(destinationTagValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsEscrowCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = tx.getDestination(); @@ -162,7 +161,7 @@ TEST(TransactionsEscrowCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = rebuiltTx.getDestination(); @@ -273,4 +272,5 @@ TEST(TransactionsEscrowCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/EscrowFinishTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/EscrowFinishTests.cpp index f76bfffb59..2918a3c8f5 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/EscrowFinishTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/EscrowFinishTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction EscrowFinish - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsEscrowFinishTests, BuilderSettersRoundTrip) builder.setFulfillment(fulfillmentValue); builder.setCondition(conditionValue); builder.setCredentialIDs(credentialIDsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsEscrowFinishTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ownerValue; auto const actual = tx.getOwner(); @@ -150,7 +149,7 @@ TEST(TransactionsEscrowFinishTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ownerValue; auto const actual = rebuiltTx.getOwner(); @@ -252,4 +251,5 @@ TEST(TransactionsEscrowFinishTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getCredentialIDs().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LedgerStateFixTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LedgerStateFixTests.cpp index 5b78f0cfdd..b69f942542 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LedgerStateFixTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LedgerStateFixTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LedgerStateFix - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsLedgerStateFixTests, BuilderSettersRoundTrip) // Set optional fields builder.setOwner(ownerValue); builder.setBookDirectory(bookDirectoryValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsLedgerStateFixTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ledgerFixTypeValue; auto const actual = tx.getLedgerFixType(); @@ -128,7 +127,7 @@ TEST(TransactionsLedgerStateFixTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ledgerFixTypeValue; auto const actual = rebuiltTx.getLedgerFixType(); @@ -213,4 +212,5 @@ TEST(TransactionsLedgerStateFixTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getBookDirectory().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverClawbackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverClawbackTests.cpp index 34ea31178f..bd0efac04d 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverClawbackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverClawbackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanBrokerCoverClawback - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsLoanBrokerCoverClawbackTests, BuilderSettersRoundTrip) // Set optional fields builder.setLoanBrokerID(loanBrokerIDValue); builder.setAmount(amountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsLoanBrokerCoverClawbackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = loanBrokerIDValue; @@ -118,7 +117,7 @@ TEST(TransactionsLoanBrokerCoverClawbackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = loanBrokerIDValue; @@ -195,4 +194,5 @@ TEST(TransactionsLoanBrokerCoverClawbackTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverDepositTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverDepositTests.cpp index 7d659ee28f..8c1929cb60 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverDepositTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverDepositTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanBrokerCoverDeposit - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsLoanBrokerCoverDepositTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsLoanBrokerCoverDepositTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = tx.getLoanBrokerID(); @@ -114,7 +113,7 @@ TEST(TransactionsLoanBrokerCoverDepositTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = rebuiltTx.getLoanBrokerID(); @@ -159,4 +158,5 @@ TEST(TransactionsLoanBrokerCoverDepositTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverWithdrawTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverWithdrawTests.cpp index 5b0a8c9146..609dfcb9e6 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverWithdrawTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerCoverWithdrawTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanBrokerCoverWithdraw - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsLoanBrokerCoverWithdrawTests, BuilderSettersRoundTrip) // Set optional fields builder.setDestination(destinationValue); builder.setDestinationTag(destinationTagValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsLoanBrokerCoverWithdrawTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = tx.getLoanBrokerID(); @@ -138,7 +137,7 @@ TEST(TransactionsLoanBrokerCoverWithdrawTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = rebuiltTx.getLoanBrokerID(); @@ -231,4 +230,5 @@ TEST(TransactionsLoanBrokerCoverWithdrawTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerDeleteTests.cpp index e81cf2f613..bbbc1335c6 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanBrokerDelete - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsLoanBrokerDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsLoanBrokerDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = tx.getLoanBrokerID(); @@ -104,7 +103,7 @@ TEST(TransactionsLoanBrokerDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = rebuiltTx.getLoanBrokerID(); @@ -143,4 +142,5 @@ TEST(TransactionsLoanBrokerDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerSetTests.cpp index bcf0a65755..d36fa4d682 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanBrokerSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanBrokerSet - - #include #include @@ -51,6 +49,7 @@ TEST(TransactionsLoanBrokerSetTests, BuilderSettersRoundTrip) builder.setDebtMaximum(debtMaximumValue); builder.setCoverRateMinimum(coverRateMinimumValue); builder.setCoverRateLiquidation(coverRateLiquidationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -66,7 +65,7 @@ TEST(TransactionsLoanBrokerSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -176,7 +175,7 @@ TEST(TransactionsLoanBrokerSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -297,4 +296,5 @@ TEST(TransactionsLoanBrokerSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getCoverRateLiquidation().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanDeleteTests.cpp index bafd277e0d..4e8dbf27e0 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanDelete - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsLoanDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsLoanDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = tx.getLoanID(); @@ -104,7 +103,7 @@ TEST(TransactionsLoanDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = rebuiltTx.getLoanID(); @@ -143,4 +142,5 @@ TEST(TransactionsLoanDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanManageTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanManageTests.cpp index b70b28ba3a..7ac3e8339b 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanManageTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanManageTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanManage - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsLoanManageTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsLoanManageTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = tx.getLoanID(); @@ -104,7 +103,7 @@ TEST(TransactionsLoanManageTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = rebuiltTx.getLoanID(); @@ -143,4 +142,5 @@ TEST(TransactionsLoanManageTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanPayTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanPayTests.cpp index 79b7b08732..e9a3efbcae 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanPayTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanPayTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanPay - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsLoanPayTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsLoanPayTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = tx.getLoanID(); @@ -114,7 +113,7 @@ TEST(TransactionsLoanPayTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanIDValue; auto const actual = rebuiltTx.getLoanID(); @@ -159,4 +158,5 @@ TEST(TransactionsLoanPayTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/LoanSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/LoanSetTests.cpp index 8774a38a3b..4cd2c56a9a 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/LoanSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/LoanSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction LoanSet - - #include #include @@ -71,6 +69,7 @@ TEST(TransactionsLoanSetTests, BuilderSettersRoundTrip) builder.setPaymentTotal(paymentTotalValue); builder.setPaymentInterval(paymentIntervalValue); builder.setGracePeriod(gracePeriodValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -86,7 +85,7 @@ TEST(TransactionsLoanSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = tx.getLoanBrokerID(); @@ -294,7 +293,7 @@ TEST(TransactionsLoanSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = loanBrokerIDValue; auto const actual = rebuiltTx.getLoanBrokerID(); @@ -504,4 +503,5 @@ TEST(TransactionsLoanSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getGracePeriod().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenAuthorizeTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenAuthorizeTests.cpp index b156e4d68e..5099137ddb 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenAuthorizeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenAuthorizeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction MPTokenAuthorize - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsMPTokenAuthorizeTests, BuilderSettersRoundTrip) // Set optional fields builder.setHolder(holderValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsMPTokenAuthorizeTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -116,7 +115,7 @@ TEST(TransactionsMPTokenAuthorizeTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -192,4 +191,5 @@ TEST(TransactionsMPTokenAuthorizeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getHolder().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceCreateTests.cpp index f7151fc749..91fa19f44f 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction MPTokenIssuanceCreate - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsMPTokenIssuanceCreateTests, BuilderSettersRoundTrip) builder.setMPTokenMetadata(mPTokenMetadataValue); builder.setDomainID(domainIDValue); builder.setMutableFlags(mutableFlagsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsMPTokenIssuanceCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = assetScaleValue; @@ -166,7 +165,7 @@ TEST(TransactionsMPTokenIssuanceCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = assetScaleValue; @@ -279,4 +278,5 @@ TEST(TransactionsMPTokenIssuanceCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getMutableFlags().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceDestroyTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceDestroyTests.cpp index 488077325c..9cc187f2c8 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceDestroyTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceDestroyTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction MPTokenIssuanceDestroy - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsMPTokenIssuanceDestroyTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsMPTokenIssuanceDestroyTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -104,7 +103,7 @@ TEST(TransactionsMPTokenIssuanceDestroyTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -143,4 +142,5 @@ TEST(TransactionsMPTokenIssuanceDestroyTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceSetTests.cpp index e7b34590b2..745c17e7bb 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/MPTokenIssuanceSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction MPTokenIssuanceSet - - #include #include @@ -53,6 +51,7 @@ TEST(TransactionsMPTokenIssuanceSetTests, BuilderSettersRoundTrip) builder.setMutableFlags(mutableFlagsValue); builder.setIssuerEncryptionKey(issuerEncryptionKeyValue); builder.setAuditorEncryptionKey(auditorEncryptionKeyValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -68,7 +67,7 @@ TEST(TransactionsMPTokenIssuanceSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = tx.getMPTokenIssuanceID(); @@ -188,7 +187,7 @@ TEST(TransactionsMPTokenIssuanceSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = mPTokenIssuanceIDValue; auto const actual = rebuiltTx.getMPTokenIssuanceID(); @@ -318,4 +317,5 @@ TEST(TransactionsMPTokenIssuanceSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAuditorEncryptionKey().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenAcceptOfferTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenAcceptOfferTests.cpp index e9fc370c35..1f93fb1072 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenAcceptOfferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenAcceptOfferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenAcceptOffer - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsNFTokenAcceptOfferTests, BuilderSettersRoundTrip) builder.setNFTokenBuyOffer(nFTokenBuyOfferValue); builder.setNFTokenSellOffer(nFTokenSellOfferValue); builder.setNFTokenBrokerFee(nFTokenBrokerFeeValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsNFTokenAcceptOfferTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = nFTokenBuyOfferValue; @@ -130,7 +129,7 @@ TEST(TransactionsNFTokenAcceptOfferTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = nFTokenBuyOfferValue; @@ -216,4 +215,5 @@ TEST(TransactionsNFTokenAcceptOfferTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getNFTokenBrokerFee().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenBurnTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenBurnTests.cpp index 423ddfadce..38a82be1cf 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenBurnTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenBurnTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenBurn - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsNFTokenBurnTests, BuilderSettersRoundTrip) // Set optional fields builder.setOwner(ownerValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsNFTokenBurnTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = tx.getNFTokenID(); @@ -116,7 +115,7 @@ TEST(TransactionsNFTokenBurnTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = rebuiltTx.getNFTokenID(); @@ -192,4 +191,5 @@ TEST(TransactionsNFTokenBurnTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getOwner().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCancelOfferTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCancelOfferTests.cpp index f995009738..018a539d49 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCancelOfferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCancelOfferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenCancelOffer - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsNFTokenCancelOfferTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsNFTokenCancelOfferTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenOffersValue; auto const actual = tx.getNFTokenOffers(); @@ -104,7 +103,7 @@ TEST(TransactionsNFTokenCancelOfferTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenOffersValue; auto const actual = rebuiltTx.getNFTokenOffers(); @@ -143,4 +142,5 @@ TEST(TransactionsNFTokenCancelOfferTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCreateOfferTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCreateOfferTests.cpp index aceac00a26..5202c04f8b 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCreateOfferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenCreateOfferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenCreateOffer - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsNFTokenCreateOfferTests, BuilderSettersRoundTrip) builder.setDestination(destinationValue); builder.setOwner(ownerValue); builder.setExpiration(expirationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsNFTokenCreateOfferTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = tx.getNFTokenID(); @@ -150,7 +149,7 @@ TEST(TransactionsNFTokenCreateOfferTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = rebuiltTx.getNFTokenID(); @@ -252,4 +251,5 @@ TEST(TransactionsNFTokenCreateOfferTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getExpiration().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenMintTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenMintTests.cpp index 6c380d68d4..30ff51a887 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenMintTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenMintTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenMint - - #include #include @@ -51,6 +49,7 @@ TEST(TransactionsNFTokenMintTests, BuilderSettersRoundTrip) builder.setAmount(amountValue); builder.setDestination(destinationValue); builder.setExpiration(expirationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -66,7 +65,7 @@ TEST(TransactionsNFTokenMintTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenTaxonValue; auto const actual = tx.getNFTokenTaxon(); @@ -176,7 +175,7 @@ TEST(TransactionsNFTokenMintTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenTaxonValue; auto const actual = rebuiltTx.getNFTokenTaxon(); @@ -297,4 +296,5 @@ TEST(TransactionsNFTokenMintTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getExpiration().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenModifyTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenModifyTests.cpp index 33447560c4..8b070510fa 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/NFTokenModifyTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/NFTokenModifyTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction NFTokenModify - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsNFTokenModifyTests, BuilderSettersRoundTrip) // Set optional fields builder.setOwner(ownerValue); builder.setURI(uRIValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsNFTokenModifyTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = tx.getNFTokenID(); @@ -128,7 +127,7 @@ TEST(TransactionsNFTokenModifyTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = nFTokenIDValue; auto const actual = rebuiltTx.getNFTokenID(); @@ -213,4 +212,5 @@ TEST(TransactionsNFTokenModifyTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getURI().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/OfferCancelTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/OfferCancelTests.cpp index 07397f3154..27e4f5a9ac 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/OfferCancelTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/OfferCancelTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction OfferCancel - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsOfferCancelTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsOfferCancelTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = offerSequenceValue; auto const actual = tx.getOfferSequence(); @@ -104,7 +103,7 @@ TEST(TransactionsOfferCancelTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = offerSequenceValue; auto const actual = rebuiltTx.getOfferSequence(); @@ -143,4 +142,5 @@ TEST(TransactionsOfferCancelTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/OfferCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/OfferCreateTests.cpp index c0aac0a265..feeaad7dc1 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/OfferCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/OfferCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction OfferCreate - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsOfferCreateTests, BuilderSettersRoundTrip) builder.setExpiration(expirationValue); builder.setOfferSequence(offerSequenceValue); builder.setDomainID(domainIDValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsOfferCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = takerPaysValue; auto const actual = tx.getTakerPays(); @@ -150,7 +149,7 @@ TEST(TransactionsOfferCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = takerPaysValue; auto const actual = rebuiltTx.getTakerPays(); @@ -252,4 +251,5 @@ TEST(TransactionsOfferCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDomainID().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/OracleDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/OracleDeleteTests.cpp index 8ab372f230..435db9c04f 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/OracleDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/OracleDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction OracleDelete - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsOracleDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsOracleDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = oracleDocumentIDValue; auto const actual = tx.getOracleDocumentID(); @@ -104,7 +103,7 @@ TEST(TransactionsOracleDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = oracleDocumentIDValue; auto const actual = rebuiltTx.getOracleDocumentID(); @@ -143,4 +142,5 @@ TEST(TransactionsOracleDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/OracleSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/OracleSetTests.cpp index 49964181ad..558599fcb2 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/OracleSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/OracleSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction OracleSet - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsOracleSetTests, BuilderSettersRoundTrip) builder.setProvider(providerValue); builder.setURI(uRIValue); builder.setAssetClass(assetClassValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsOracleSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = oracleDocumentIDValue; auto const actual = tx.getOracleDocumentID(); @@ -160,7 +159,7 @@ TEST(TransactionsOracleSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = oracleDocumentIDValue; auto const actual = rebuiltTx.getOracleDocumentID(); @@ -270,4 +269,5 @@ TEST(TransactionsOracleSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAssetClass().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelClaimTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelClaimTests.cpp index e48a2c589a..36fef80570 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelClaimTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelClaimTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction PaymentChannelClaim - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsPaymentChannelClaimTests, BuilderSettersRoundTrip) builder.setSignature(signatureValue); builder.setPublicKey(publicKeyValue); builder.setCredentialIDs(credentialIDsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsPaymentChannelClaimTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = channelValue; auto const actual = tx.getChannel(); @@ -164,7 +163,7 @@ TEST(TransactionsPaymentChannelClaimTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = channelValue; auto const actual = rebuiltTx.getChannel(); @@ -276,4 +275,5 @@ TEST(TransactionsPaymentChannelClaimTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getCredentialIDs().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelCreateTests.cpp index afda539b2f..8de2da30ed 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction PaymentChannelCreate - - #include #include @@ -49,6 +47,7 @@ TEST(TransactionsPaymentChannelCreateTests, BuilderSettersRoundTrip) // Set optional fields builder.setCancelAfter(cancelAfterValue); builder.setDestinationTag(destinationTagValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -64,7 +63,7 @@ TEST(TransactionsPaymentChannelCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = tx.getDestination(); @@ -158,7 +157,7 @@ TEST(TransactionsPaymentChannelCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = rebuiltTx.getDestination(); @@ -267,4 +266,5 @@ TEST(TransactionsPaymentChannelCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelFundTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelFundTests.cpp index 00eb52d55d..265708b334 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelFundTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PaymentChannelFundTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction PaymentChannelFund - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsPaymentChannelFundTests, BuilderSettersRoundTrip) // Set optional fields builder.setExpiration(expirationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsPaymentChannelFundTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = channelValue; auto const actual = tx.getChannel(); @@ -126,7 +125,7 @@ TEST(TransactionsPaymentChannelFundTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = channelValue; auto const actual = rebuiltTx.getChannel(); @@ -210,4 +209,5 @@ TEST(TransactionsPaymentChannelFundTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getExpiration().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PaymentTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PaymentTests.cpp index d77aedf6c5..137218d0f3 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PaymentTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PaymentTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction Payment - - #include #include @@ -49,12 +47,13 @@ TEST(TransactionsPaymentTests, BuilderSettersRoundTrip) // Set optional fields builder.setSendMax(sendMaxValue); - builder.setPaths(pathsValue); builder.setInvoiceID(invoiceIDValue); builder.setDestinationTag(destinationTagValue); builder.setDeliverMin(deliverMinValue); builder.setCredentialIDs(credentialIDsValue); builder.setDomainID(domainIDValue); + // Set default fields + builder.setPaths(pathsValue); auto tx = builder.build(publicKey, secretKey); @@ -70,7 +69,7 @@ TEST(TransactionsPaymentTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = tx.getDestination(); @@ -83,6 +82,12 @@ TEST(TransactionsPaymentTests, BuilderSettersRoundTrip) expectEqualField(expected, actual, "sfAmount"); } + { + auto const& expected = pathsValue; + auto const actual = tx.getPaths(); + expectEqualField(expected, actual, "sfPaths"); + } + // Verify optional fields { auto const& expected = sendMaxValue; @@ -92,14 +97,6 @@ TEST(TransactionsPaymentTests, BuilderSettersRoundTrip) EXPECT_TRUE(tx.hasSendMax()); } - { - auto const& expected = pathsValue; - auto const actualOpt = tx.getPaths(); - ASSERT_TRUE(actualOpt.has_value()) << "Optional field sfPaths should be present"; - expectEqualField(expected, *actualOpt, "sfPaths"); - EXPECT_TRUE(tx.hasPaths()); - } - { auto const& expected = invoiceIDValue; auto const actualOpt = tx.getInvoiceID(); @@ -176,12 +173,12 @@ TEST(TransactionsPaymentTests, BuilderFromStTxRoundTrip) }; initialBuilder.setSendMax(sendMaxValue); - initialBuilder.setPaths(pathsValue); initialBuilder.setInvoiceID(invoiceIDValue); initialBuilder.setDestinationTag(destinationTagValue); initialBuilder.setDeliverMin(deliverMinValue); initialBuilder.setCredentialIDs(credentialIDsValue); initialBuilder.setDomainID(domainIDValue); + initialBuilder.setPaths(pathsValue); auto initialTx = initialBuilder.build(publicKey, secretKey); @@ -198,7 +195,7 @@ TEST(TransactionsPaymentTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = destinationValue; auto const actual = rebuiltTx.getDestination(); @@ -211,6 +208,12 @@ TEST(TransactionsPaymentTests, BuilderFromStTxRoundTrip) expectEqualField(expected, actual, "sfAmount"); } + { + auto const& expected = pathsValue; + auto const actual = rebuiltTx.getPaths(); + expectEqualField(expected, actual, "sfPaths"); + } + // Verify optional fields { auto const& expected = sendMaxValue; @@ -219,13 +222,6 @@ TEST(TransactionsPaymentTests, BuilderFromStTxRoundTrip) expectEqualField(expected, *actualOpt, "sfSendMax"); } - { - auto const& expected = pathsValue; - auto const actualOpt = rebuiltTx.getPaths(); - ASSERT_TRUE(actualOpt.has_value()) << "Optional field sfPaths should be present"; - expectEqualField(expected, *actualOpt, "sfPaths"); - } - { auto const& expected = invoiceIDValue; auto const actualOpt = rebuiltTx.getInvoiceID(); @@ -322,8 +318,6 @@ TEST(TransactionsPaymentTests, OptionalFieldsReturnNullopt) // Verify optional fields are not present EXPECT_FALSE(tx.hasSendMax()); EXPECT_FALSE(tx.getSendMax().has_value()); - EXPECT_FALSE(tx.hasPaths()); - EXPECT_FALSE(tx.getPaths().has_value()); EXPECT_FALSE(tx.hasInvoiceID()); EXPECT_FALSE(tx.getInvoiceID().has_value()); EXPECT_FALSE(tx.hasDestinationTag()); @@ -336,4 +330,51 @@ TEST(TransactionsPaymentTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDomainID().has_value()); } +// 6) Default fields return the type default when unset, and the assigned value +// after being set. +TEST(TransactionsPaymentTests, DefaultFieldsRoundTrip) +{ + // Generate a deterministic keypair for signing + auto const [publicKey, secretKey] = + generateKeyPair(KeyType::Secp256k1, generateSeed("testPaymentDefault")); + + // Common transaction fields + auto const accountValue = calcAccountID(publicKey); + std::uint32_t const sequenceValue = 4; + auto const feeValue = canonical_AMOUNT(); + + // Transaction-specific required field values + auto const destinationValue = canonical_ACCOUNT(); + auto const amountValue = canonical_AMOUNT(); + + // Unset: default fields return the type default. + PaymentBuilder defaultBuilder{ + accountValue, + destinationValue, + amountValue, + sequenceValue, + feeValue + }; + auto const defaultTx = defaultBuilder.build(publicKey, secretKey); + { + auto const expected = STPathSet{}; + expectEqualField(expected, defaultTx.getPaths(), "sfPaths"); + } + + // Set: default fields return the assigned value. + PaymentBuilder setBuilder{ + accountValue, + destinationValue, + amountValue, + sequenceValue, + feeValue + }; + setBuilder.setPaths(canonical_PATHSET()); + auto const setTx = setBuilder.build(publicKey, secretKey); + { + auto const expected = canonical_PATHSET(); + expectEqualField(expected, setTx.getPaths(), "sfPaths"); + } +} + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainDeleteTests.cpp index 74e5dd0d47..1e90e9bd67 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction PermissionedDomainDelete - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsPermissionedDomainDeleteTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsPermissionedDomainDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = domainIDValue; auto const actual = tx.getDomainID(); @@ -104,7 +103,7 @@ TEST(TransactionsPermissionedDomainDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = domainIDValue; auto const actual = rebuiltTx.getDomainID(); @@ -143,4 +142,5 @@ TEST(TransactionsPermissionedDomainDeleteTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainSetTests.cpp index c55c53efd4..9366ad72f3 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/PermissionedDomainSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction PermissionedDomainSet - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsPermissionedDomainSetTests, BuilderSettersRoundTrip) // Set optional fields builder.setDomainID(domainIDValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsPermissionedDomainSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = acceptedCredentialsValue; auto const actual = tx.getAcceptedCredentials(); @@ -116,7 +115,7 @@ TEST(TransactionsPermissionedDomainSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = acceptedCredentialsValue; auto const actual = rebuiltTx.getAcceptedCredentials(); @@ -192,4 +191,5 @@ TEST(TransactionsPermissionedDomainSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDomainID().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/SetFeeTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/SetFeeTests.cpp index 9605daee9f..1ef6676721 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/SetFeeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/SetFeeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction SetFee - - #include #include @@ -53,6 +51,7 @@ TEST(TransactionsSetFeeTests, BuilderSettersRoundTrip) builder.setBaseFeeDrops(baseFeeDropsValue); builder.setReserveBaseDrops(reserveBaseDropsValue); builder.setReserveIncrementDrops(reserveIncrementDropsValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -68,7 +67,7 @@ TEST(TransactionsSetFeeTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = ledgerSequenceValue; @@ -190,7 +189,7 @@ TEST(TransactionsSetFeeTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = ledgerSequenceValue; @@ -321,4 +320,5 @@ TEST(TransactionsSetFeeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getReserveIncrementDrops().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/SetRegularKeyTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/SetRegularKeyTests.cpp index 7f50470a1e..dcdb513fa9 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/SetRegularKeyTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/SetRegularKeyTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction SetRegularKey - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsSetRegularKeyTests, BuilderSettersRoundTrip) // Set optional fields builder.setRegularKey(regularKeyValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsSetRegularKeyTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = regularKeyValue; @@ -106,7 +105,7 @@ TEST(TransactionsSetRegularKeyTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = regularKeyValue; @@ -174,4 +173,5 @@ TEST(TransactionsSetRegularKeyTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getRegularKey().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/SignerListSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/SignerListSetTests.cpp index 22c348d5a4..af4d2bc32e 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/SignerListSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/SignerListSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction SignerListSet - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsSignerListSetTests, BuilderSettersRoundTrip) // Set optional fields builder.setSignerEntries(signerEntriesValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsSignerListSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = signerQuorumValue; auto const actual = tx.getSignerQuorum(); @@ -116,7 +115,7 @@ TEST(TransactionsSignerListSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = signerQuorumValue; auto const actual = rebuiltTx.getSignerQuorum(); @@ -192,4 +191,5 @@ TEST(TransactionsSignerListSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getSignerEntries().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipSetTests.cpp index dce8cfca3f..852ec70972 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction SponsorshipSet - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsSponsorshipSetTests, BuilderSettersRoundTrip) builder.setFeeAmount(feeAmountValue); builder.setMaxFee(maxFeeValue); builder.setRemainingOwnerCount(remainingOwnerCountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsSponsorshipSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = counterpartySponsorValue; @@ -154,7 +153,7 @@ TEST(TransactionsSponsorshipSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = counterpartySponsorValue; @@ -258,4 +257,5 @@ TEST(TransactionsSponsorshipSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getRemainingOwnerCount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipTransferTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipTransferTests.cpp index c8521b7b20..605483b2ef 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipTransferTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/SponsorshipTransferTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction SponsorshipTransfer - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsSponsorshipTransferTests, BuilderSettersRoundTrip) // Set optional fields builder.setObjectID(objectIDValue); builder.setSponsee(sponseeValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsSponsorshipTransferTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = objectIDValue; @@ -118,7 +117,7 @@ TEST(TransactionsSponsorshipTransferTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = objectIDValue; @@ -195,4 +194,5 @@ TEST(TransactionsSponsorshipTransferTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getSponsee().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/TicketCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/TicketCreateTests.cpp index 38bbdf2681..41d47796ac 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/TicketCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/TicketCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction TicketCreate - - #include #include @@ -39,6 +37,7 @@ TEST(TransactionsTicketCreateTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -54,7 +53,7 @@ TEST(TransactionsTicketCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ticketCountValue; auto const actual = tx.getTicketCount(); @@ -104,7 +103,7 @@ TEST(TransactionsTicketCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = ticketCountValue; auto const actual = rebuiltTx.getTicketCount(); @@ -143,4 +142,5 @@ TEST(TransactionsTicketCreateTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/TrustSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/TrustSetTests.cpp index 081902bc58..e0450e77db 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/TrustSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/TrustSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction TrustSet - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsTrustSetTests, BuilderSettersRoundTrip) builder.setLimitAmount(limitAmountValue); builder.setQualityIn(qualityInValue); builder.setQualityOut(qualityOutValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsTrustSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = limitAmountValue; @@ -130,7 +129,7 @@ TEST(TransactionsTrustSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields // Verify optional fields { auto const& expected = limitAmountValue; @@ -216,4 +215,5 @@ TEST(TransactionsTrustSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getQualityOut().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/UNLModifyTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/UNLModifyTests.cpp index e6d920538e..df6d017ddd 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/UNLModifyTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/UNLModifyTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction UNLModify - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsUNLModifyTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsUNLModifyTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = uNLModifyDisablingValue; auto const actual = tx.getUNLModifyDisabling(); @@ -124,7 +123,7 @@ TEST(TransactionsUNLModifyTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = uNLModifyDisablingValue; auto const actual = rebuiltTx.getUNLModifyDisabling(); @@ -175,4 +174,5 @@ TEST(TransactionsUNLModifyTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultClawbackTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultClawbackTests.cpp index f63e6a3ddf..340c696ce8 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultClawbackTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultClawbackTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultClawback - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsVaultClawbackTests, BuilderSettersRoundTrip) // Set optional fields builder.setAmount(amountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsVaultClawbackTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -126,7 +125,7 @@ TEST(TransactionsVaultClawbackTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -210,4 +209,5 @@ TEST(TransactionsVaultClawbackTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultCreateTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultCreateTests.cpp index 9c1e14f6f4..d603fd1b1c 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultCreateTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultCreateTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultCreate - - #include #include @@ -51,6 +49,7 @@ TEST(TransactionsVaultCreateTests, BuilderSettersRoundTrip) builder.setWithdrawalPolicy(withdrawalPolicyValue); builder.setData(dataValue); builder.setScale(scaleValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -66,7 +65,7 @@ TEST(TransactionsVaultCreateTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = tx.getAsset(); @@ -176,7 +175,7 @@ TEST(TransactionsVaultCreateTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = assetValue; auto const actual = rebuiltTx.getAsset(); @@ -297,4 +296,5 @@ TEST(TransactionsVaultCreateTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getScale().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultDeleteTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultDeleteTests.cpp index 8f0eb2e4cd..61b25322c2 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultDeleteTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultDeleteTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultDelete - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsVaultDeleteTests, BuilderSettersRoundTrip) // Set optional fields builder.setMemoData(memoDataValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsVaultDeleteTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -116,7 +115,7 @@ TEST(TransactionsVaultDeleteTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -192,4 +191,5 @@ TEST(TransactionsVaultDeleteTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getMemoData().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultDepositTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultDepositTests.cpp index 383e04bbee..4b1abd409b 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultDepositTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultDepositTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultDeposit - - #include #include @@ -41,6 +39,7 @@ TEST(TransactionsVaultDepositTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -56,7 +55,7 @@ TEST(TransactionsVaultDepositTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -114,7 +113,7 @@ TEST(TransactionsVaultDepositTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -159,4 +158,5 @@ TEST(TransactionsVaultDepositTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultSetTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultSetTests.cpp index b67a003ec5..39e6fe10f3 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultSetTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultSetTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultSet - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsVaultSetTests, BuilderSettersRoundTrip) builder.setAssetsMaximum(assetsMaximumValue); builder.setDomainID(domainIDValue); builder.setData(dataValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsVaultSetTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -140,7 +139,7 @@ TEST(TransactionsVaultSetTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -234,4 +233,5 @@ TEST(TransactionsVaultSetTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getData().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/VaultWithdrawTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/VaultWithdrawTests.cpp index 4067a6551d..cfab766a33 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/VaultWithdrawTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/VaultWithdrawTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction VaultWithdraw - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsVaultWithdrawTests, BuilderSettersRoundTrip) // Set optional fields builder.setDestination(destinationValue); builder.setDestinationTag(destinationTagValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsVaultWithdrawTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = tx.getVaultID(); @@ -138,7 +137,7 @@ TEST(TransactionsVaultWithdrawTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = vaultIDValue; auto const actual = rebuiltTx.getVaultID(); @@ -231,4 +230,5 @@ TEST(TransactionsVaultWithdrawTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainAccountCreateCommitTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainAccountCreateCommitTests.cpp index 3c7ac4e193..ff4eef0292 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainAccountCreateCommitTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainAccountCreateCommitTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainAccountCreateCommit - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsXChainAccountCreateCommitTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsXChainAccountCreateCommitTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -134,7 +133,7 @@ TEST(TransactionsXChainAccountCreateCommitTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -191,4 +190,5 @@ TEST(TransactionsXChainAccountCreateCommitTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainAddAccountCreateAttestationTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainAddAccountCreateAttestationTests.cpp index 9bb79f31f6..e9363df99e 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainAddAccountCreateAttestationTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainAddAccountCreateAttestationTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainAddAccountCreateAttestation - - #include #include @@ -59,6 +57,7 @@ TEST(TransactionsXChainAddAccountCreateAttestationTests, BuilderSettersRoundTrip }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -74,7 +73,7 @@ TEST(TransactionsXChainAddAccountCreateAttestationTests, BuilderSettersRoundTrip EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -204,7 +203,7 @@ TEST(TransactionsXChainAddAccountCreateAttestationTests, BuilderFromStTxRoundTri EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -303,4 +302,5 @@ TEST(TransactionsXChainAddAccountCreateAttestationTests, BuilderThrowsOnWrongTxT } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainAddClaimAttestationTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainAddClaimAttestationTests.cpp index 661e5020f9..9f19f7a07b 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainAddClaimAttestationTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainAddClaimAttestationTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainAddClaimAttestation - - #include #include @@ -57,6 +55,7 @@ TEST(TransactionsXChainAddClaimAttestationTests, BuilderSettersRoundTrip) // Set optional fields builder.setDestination(destinationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -72,7 +71,7 @@ TEST(TransactionsXChainAddClaimAttestationTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -196,7 +195,7 @@ TEST(TransactionsXChainAddClaimAttestationTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -336,4 +335,5 @@ TEST(TransactionsXChainAddClaimAttestationTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestination().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainClaimTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainClaimTests.cpp index 472bf4c91d..1d5e166dd8 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainClaimTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainClaimTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainClaim - - #include #include @@ -47,6 +45,7 @@ TEST(TransactionsXChainClaimTests, BuilderSettersRoundTrip) // Set optional fields builder.setDestinationTag(destinationTagValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -62,7 +61,7 @@ TEST(TransactionsXChainClaimTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -146,7 +145,7 @@ TEST(TransactionsXChainClaimTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -246,4 +245,5 @@ TEST(TransactionsXChainClaimTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getDestinationTag().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainCommitTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainCommitTests.cpp index 121ab84a16..b9e255f3f6 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainCommitTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainCommitTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainCommit - - #include #include @@ -45,6 +43,7 @@ TEST(TransactionsXChainCommitTests, BuilderSettersRoundTrip) // Set optional fields builder.setOtherChainDestination(otherChainDestinationValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -60,7 +59,7 @@ TEST(TransactionsXChainCommitTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -136,7 +135,7 @@ TEST(TransactionsXChainCommitTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -228,4 +227,5 @@ TEST(TransactionsXChainCommitTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getOtherChainDestination().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateBridgeTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateBridgeTests.cpp index 7b06c4f52f..83508c5ab8 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateBridgeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateBridgeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainCreateBridge - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsXChainCreateBridgeTests, BuilderSettersRoundTrip) // Set optional fields builder.setMinAccountCreateAmount(minAccountCreateAmountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsXChainCreateBridgeTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -126,7 +125,7 @@ TEST(TransactionsXChainCreateBridgeTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -210,4 +209,5 @@ TEST(TransactionsXChainCreateBridgeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getMinAccountCreateAmount().has_value()); } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateClaimIDTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateClaimIDTests.cpp index 814785bc4e..a574e26a3b 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateClaimIDTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainCreateClaimIDTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainCreateClaimID - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsXChainCreateClaimIDTests, BuilderSettersRoundTrip) }; // Set optional fields + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsXChainCreateClaimIDTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -124,7 +123,7 @@ TEST(TransactionsXChainCreateClaimIDTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -175,4 +174,5 @@ TEST(TransactionsXChainCreateClaimIDTests, BuilderThrowsOnWrongTxType) } + } diff --git a/src/tests/libxrpl/protocol_autogen/transactions/XChainModifyBridgeTests.cpp b/src/tests/libxrpl/protocol_autogen/transactions/XChainModifyBridgeTests.cpp index da854976b9..0d9e6b0341 100644 --- a/src/tests/libxrpl/protocol_autogen/transactions/XChainModifyBridgeTests.cpp +++ b/src/tests/libxrpl/protocol_autogen/transactions/XChainModifyBridgeTests.cpp @@ -1,6 +1,4 @@ // Auto-generated unit tests for transaction XChainModifyBridge - - #include #include @@ -43,6 +41,7 @@ TEST(TransactionsXChainModifyBridgeTests, BuilderSettersRoundTrip) // Set optional fields builder.setSignatureReward(signatureRewardValue); builder.setMinAccountCreateAmount(minAccountCreateAmountValue); + // Set default fields auto tx = builder.build(publicKey, secretKey); @@ -58,7 +57,7 @@ TEST(TransactionsXChainModifyBridgeTests, BuilderSettersRoundTrip) EXPECT_EQ(tx.getSequence(), sequenceValue); EXPECT_EQ(tx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = tx.getXChainBridge(); @@ -128,7 +127,7 @@ TEST(TransactionsXChainModifyBridgeTests, BuilderFromStTxRoundTrip) EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue); EXPECT_EQ(rebuiltTx.getFee(), feeValue); - // Verify required fields + // Verify required and default fields { auto const& expected = xChainBridgeValue; auto const actual = rebuiltTx.getXChainBridge(); @@ -213,4 +212,5 @@ TEST(TransactionsXChainModifyBridgeTests, OptionalFieldsReturnNullopt) EXPECT_FALSE(tx.getMinAccountCreateAmount().has_value()); } + }