xrpld
Loading...
Searching...
No Matches
xrpl::test::AMMExtended_test Class Reference

Tests of AMM that use offers too. More...

Inheritance diagram for xrpl::test::AMMExtended_test:
Collaboration diagram for xrpl::test::AMMExtended_test:

Public Member Functions

template<class = void>
void operator() (Runner &r)
 Invokes the test using the specified runner.
template<class = void>
void pass ()
 Record a successful test condition.
template<class F, class String>
bool except (F &&f, String const &reason)
template<class F>
bool except (F &&f)
template<class E, class F, class String>
bool except (F &&f, String const &reason)
template<class E, class F>
bool except (F &&f)
template<class F, class String>
bool unexcept (F &&f, String const &reason)
template<class F>
bool unexcept (F &&f)
std::string const & arg () const
 Return the argument associated with the runner.
template<class Condition, class String>
bool unexpected (Condition shouldBeFalse, String const &reason)
template<class Condition>
bool unexpected (Condition shouldBeFalse)
template<class String>
void fail (String const &reason, char const *file, int line)
 Record a failure.
template<class = void>
void fail (std::string const &reason="")
template<class Condition>
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason)
template<class Condition>
bool expect (Condition const &shouldBeTrue, char const *file, int line)
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)

Static Public Member Functions

static FeatureBitset testableAmendments ()
static SuitethisSuite ()
 Returns the "current" running suite.

Public Attributes

LogOs< char > log
 Logging output stream.
TestcaseT testcase
 Memberspace for declaring test cases.

Protected Member Functions

jtx::Env pathTestEnv ()
void testAMM (std::function< void(jtx::AMM &, jtx::Env &)> const &cb, std::optional< std::pair< STAmount, STAmount > > const &pool=std::nullopt, std::uint16_t tfee=0, std::optional< jtx::Ter > const &ter=std::nullopt, std::vector< FeatureBitset > const &features={testableAmendments()})
 testAMM() funds 30,000XRP and 30,000IOU for each non-XRP asset to Alice and Carol
void testAMM (std::function< void(jtx::AMM &, jtx::Env &)> const &cb, TestAMMArg const &arg)

Static Protected Member Functions

static XRPAmount reserve (jtx::Env &env, std::uint32_t count)
static XRPAmount ammCrtFee (jtx::Env &env)

Protected Attributes

jtx::Account const gw_
jtx::Account const carol_
jtx::Account const alice_
jtx::Account const bob_
jtx::IOU const USD
jtx::IOU const EUR
jtx::IOU const GBP
jtx::IOU const BTC
jtx::IOU const BAD

Private Member Functions

void testRmFundedOffer (FeatureBitset features)
void testEnforceNoRipple (FeatureBitset features)
void testFillModes (FeatureBitset features)
void testOfferCrossWithXRP (FeatureBitset features)
void testOfferCrossWithLimitOverride (FeatureBitset features)
void testCurrencyConversionEntire (FeatureBitset features)
void testCurrencyConversionInParts (FeatureBitset features)
void testCrossCurrencyStartXRP (FeatureBitset features)
void testCrossCurrencyEndXRP (FeatureBitset features)
void testCrossCurrencyBridged (FeatureBitset features)
void testOfferFeesConsumeFunds (FeatureBitset features)
void testOfferCreateThenCross (FeatureBitset features)
void testSellFlagBasic (FeatureBitset features)
void testSellFlagExceedLimit (FeatureBitset features)
void testGatewayCrossCurrency (FeatureBitset features)
void testBridgedCross (FeatureBitset features)
void testSellWithFillOrKill (FeatureBitset features)
void testTransferRateOffer (FeatureBitset features)
void testSelfIssueOffer (FeatureBitset features)
void testBadPathAssert (FeatureBitset features)
void testDirectToDirectPath (FeatureBitset features)
void testRequireAuth (FeatureBitset features)
void testMissingAuth (FeatureBitset features)
void testOffers ()
void pathFindConsumeAll ()
void viaOffersViaGateway ()
void receiveMax ()
void pathFind01 ()
void pathFind02 ()
void pathFind05 ()
void pathFind06 ()
void testFalseDry (FeatureBitset features)
void testBookStep (FeatureBitset features)
void testTransferRateNoOwnerFee (FeatureBitset features)
void testLimitQuality ()
void testXRPPathLoop ()
void testStepLimit (FeatureBitset features)
void testConvertAllOfAnAsset (FeatureBitset features)
void testPayment (FeatureBitset features)
void testPayIOU ()
void testRippleState (FeatureBitset features)
void testGlobalFreeze (FeatureBitset features)
void testOffersWhenFrozen (FeatureBitset features)
void testTxMultisign (FeatureBitset features)
void testToStrand (FeatureBitset features)
void testRIPD1373 (FeatureBitset features)
void testLoop (FeatureBitset features)
void testPaths ()
void testFlow ()
void testCrossingLimits ()
void testDeliverMin ()
void testDepositAuth ()
void testFreeze ()
void testMultisign ()
void testPayStrand ()
void run () override
 Runs the suite.
void propagateAbort () const

Static Private Member Functions

static Suite ** pThisSuite ()

Private Attributes

NumberMantissaScaleGuard const sg_ {xrpl::MantissaRange::MantissaScale::Small}
FeatureBitset const all_
bool abort_ = false
bool aborted_ = false
Runner * runner_ = nullptr

Detailed Description

Tests of AMM that use offers too.

Definition at line 68 of file AMMExtended_test.cpp.

Member Function Documentation

◆ testRmFundedOffer()

void xrpl::test::AMMExtended_test::testRmFundedOffer ( FeatureBitset features)
private

Definition at line 80 of file AMMExtended_test.cpp.

◆ testEnforceNoRipple()

void xrpl::test::AMMExtended_test::testEnforceNoRipple ( FeatureBitset features)
private

Definition at line 136 of file AMMExtended_test.cpp.

◆ testFillModes()

void xrpl::test::AMMExtended_test::testFillModes ( FeatureBitset features)
private

Definition at line 211 of file AMMExtended_test.cpp.

◆ testOfferCrossWithXRP()

void xrpl::test::AMMExtended_test::testOfferCrossWithXRP ( FeatureBitset features)
private

Definition at line 309 of file AMMExtended_test.cpp.

◆ testOfferCrossWithLimitOverride()

void xrpl::test::AMMExtended_test::testOfferCrossWithLimitOverride ( FeatureBitset features)
private

Definition at line 337 of file AMMExtended_test.cpp.

◆ testCurrencyConversionEntire()

void xrpl::test::AMMExtended_test::testCurrencyConversionEntire ( FeatureBitset features)
private

Definition at line 366 of file AMMExtended_test.cpp.

◆ testCurrencyConversionInParts()

void xrpl::test::AMMExtended_test::testCurrencyConversionInParts ( FeatureBitset features)
private

Definition at line 398 of file AMMExtended_test.cpp.

◆ testCrossCurrencyStartXRP()

void xrpl::test::AMMExtended_test::testCrossCurrencyStartXRP ( FeatureBitset features)
private

Definition at line 432 of file AMMExtended_test.cpp.

◆ testCrossCurrencyEndXRP()

void xrpl::test::AMMExtended_test::testCrossCurrencyEndXRP ( FeatureBitset features)
private

Definition at line 455 of file AMMExtended_test.cpp.

◆ testCrossCurrencyBridged()

void xrpl::test::AMMExtended_test::testCrossCurrencyBridged ( FeatureBitset features)
private

Definition at line 479 of file AMMExtended_test.cpp.

◆ testOfferFeesConsumeFunds()

void xrpl::test::AMMExtended_test::testOfferFeesConsumeFunds ( FeatureBitset features)
private

Definition at line 525 of file AMMExtended_test.cpp.

◆ testOfferCreateThenCross()

void xrpl::test::AMMExtended_test::testOfferCreateThenCross ( FeatureBitset features)
private

Definition at line 580 of file AMMExtended_test.cpp.

◆ testSellFlagBasic()

void xrpl::test::AMMExtended_test::testSellFlagBasic ( FeatureBitset features)
private

Definition at line 609 of file AMMExtended_test.cpp.

◆ testSellFlagExceedLimit()

void xrpl::test::AMMExtended_test::testSellFlagExceedLimit ( FeatureBitset features)
private

Definition at line 632 of file AMMExtended_test.cpp.

◆ testGatewayCrossCurrency()

void xrpl::test::AMMExtended_test::testGatewayCrossCurrency ( FeatureBitset features)
private

Definition at line 665 of file AMMExtended_test.cpp.

◆ testBridgedCross()

void xrpl::test::AMMExtended_test::testBridgedCross ( FeatureBitset features)
private

Definition at line 711 of file AMMExtended_test.cpp.

◆ testSellWithFillOrKill()

void xrpl::test::AMMExtended_test::testSellWithFillOrKill ( FeatureBitset features)
private

Definition at line 801 of file AMMExtended_test.cpp.

◆ testTransferRateOffer()

void xrpl::test::AMMExtended_test::testTransferRateOffer ( FeatureBitset features)
private

Definition at line 870 of file AMMExtended_test.cpp.

◆ testSelfIssueOffer()

void xrpl::test::AMMExtended_test::testSelfIssueOffer ( FeatureBitset features)
private

Definition at line 1066 of file AMMExtended_test.cpp.

◆ testBadPathAssert()

void xrpl::test::AMMExtended_test::testBadPathAssert ( FeatureBitset features)
private

Definition at line 1091 of file AMMExtended_test.cpp.

◆ testDirectToDirectPath()

void xrpl::test::AMMExtended_test::testDirectToDirectPath ( FeatureBitset features)
private

Definition at line 1157 of file AMMExtended_test.cpp.

◆ testRequireAuth()

void xrpl::test::AMMExtended_test::testRequireAuth ( FeatureBitset features)
private

Definition at line 1240 of file AMMExtended_test.cpp.

◆ testMissingAuth()

void xrpl::test::AMMExtended_test::testMissingAuth ( FeatureBitset features)
private

Definition at line 1288 of file AMMExtended_test.cpp.

◆ testOffers()

void xrpl::test::AMMExtended_test::testOffers ( )
private

Definition at line 1354 of file AMMExtended_test.cpp.

◆ pathFindConsumeAll()

void xrpl::test::AMMExtended_test::pathFindConsumeAll ( )
private

Definition at line 1387 of file AMMExtended_test.cpp.

◆ viaOffersViaGateway()

void xrpl::test::AMMExtended_test::viaOffersViaGateway ( )
private

Definition at line 1417 of file AMMExtended_test.cpp.

◆ receiveMax()

void xrpl::test::AMMExtended_test::receiveMax ( )
private

Definition at line 1442 of file AMMExtended_test.cpp.

◆ pathFind01()

void xrpl::test::AMMExtended_test::pathFind01 ( )
private

Definition at line 1483 of file AMMExtended_test.cpp.

◆ pathFind02()

void xrpl::test::AMMExtended_test::pathFind02 ( )
private

Definition at line 1568 of file AMMExtended_test.cpp.

◆ pathFind05()

void xrpl::test::AMMExtended_test::pathFind05 ( )
private

Definition at line 1604 of file AMMExtended_test.cpp.

◆ pathFind06()

void xrpl::test::AMMExtended_test::pathFind06 ( )
private

Definition at line 1734 of file AMMExtended_test.cpp.

◆ testFalseDry()

void xrpl::test::AMMExtended_test::testFalseDry ( FeatureBitset features)
private

Definition at line 1777 of file AMMExtended_test.cpp.

◆ testBookStep()

void xrpl::test::AMMExtended_test::testBookStep ( FeatureBitset features)
private

Definition at line 1818 of file AMMExtended_test.cpp.

◆ testTransferRateNoOwnerFee()

void xrpl::test::AMMExtended_test::testTransferRateNoOwnerFee ( FeatureBitset features)
private

25% on 56.3368EUR is paid in tr fee 56.3368*1.25 = 70.4210EUR

25% on 56.3368EUR is paid in tr fee 56.3368*1.25 = 70.4210EUR

Definition at line 2068 of file AMMExtended_test.cpp.

◆ testLimitQuality()

void xrpl::test::AMMExtended_test::testLimitQuality ( )
private

Definition at line 2588 of file AMMExtended_test.cpp.

◆ testXRPPathLoop()

void xrpl::test::AMMExtended_test::testXRPPathLoop ( )
private

Definition at line 2617 of file AMMExtended_test.cpp.

◆ testStepLimit()

void xrpl::test::AMMExtended_test::testStepLimit ( FeatureBitset features)
private

Definition at line 2678 of file AMMExtended_test.cpp.

◆ testConvertAllOfAnAsset()

void xrpl::test::AMMExtended_test::testConvertAllOfAnAsset ( FeatureBitset features)
private

Definition at line 2727 of file AMMExtended_test.cpp.

◆ testPayment()

void xrpl::test::AMMExtended_test::testPayment ( FeatureBitset features)
private

Definition at line 2842 of file AMMExtended_test.cpp.

◆ testPayIOU()

void xrpl::test::AMMExtended_test::testPayIOU ( )
private

Definition at line 2882 of file AMMExtended_test.cpp.

◆ testRippleState()

void xrpl::test::AMMExtended_test::testRippleState ( FeatureBitset features)
private

Definition at line 2973 of file AMMExtended_test.cpp.

◆ testGlobalFreeze()

void xrpl::test::AMMExtended_test::testGlobalFreeze ( FeatureBitset features)
private

Definition at line 3104 of file AMMExtended_test.cpp.

◆ testOffersWhenFrozen()

void xrpl::test::AMMExtended_test::testOffersWhenFrozen ( FeatureBitset features)
private

Definition at line 3234 of file AMMExtended_test.cpp.

◆ testTxMultisign()

void xrpl::test::AMMExtended_test::testTxMultisign ( FeatureBitset features)
private

Definition at line 3303 of file AMMExtended_test.cpp.

◆ testToStrand()

void xrpl::test::AMMExtended_test::testToStrand ( FeatureBitset features)
private

Definition at line 3358 of file AMMExtended_test.cpp.

◆ testRIPD1373()

void xrpl::test::AMMExtended_test::testRIPD1373 ( FeatureBitset features)
private

Definition at line 3382 of file AMMExtended_test.cpp.

◆ testLoop()

void xrpl::test::AMMExtended_test::testLoop ( FeatureBitset features)
private

Definition at line 3450 of file AMMExtended_test.cpp.

◆ testPaths()

void xrpl::test::AMMExtended_test::testPaths ( )
private

Definition at line 3505 of file AMMExtended_test.cpp.

◆ testFlow()

void xrpl::test::AMMExtended_test::testFlow ( )
private

Definition at line 3517 of file AMMExtended_test.cpp.

◆ testCrossingLimits()

void xrpl::test::AMMExtended_test::testCrossingLimits ( )
private

Definition at line 3530 of file AMMExtended_test.cpp.

◆ testDeliverMin()

void xrpl::test::AMMExtended_test::testDeliverMin ( )
private

Definition at line 3538 of file AMMExtended_test.cpp.

◆ testDepositAuth()

void xrpl::test::AMMExtended_test::testDepositAuth ( )
private

Definition at line 3546 of file AMMExtended_test.cpp.

◆ testFreeze()

void xrpl::test::AMMExtended_test::testFreeze ( )
private

Definition at line 3553 of file AMMExtended_test.cpp.

◆ testMultisign()

void xrpl::test::AMMExtended_test::testMultisign ( )
private

Definition at line 3562 of file AMMExtended_test.cpp.

◆ testPayStrand()

void xrpl::test::AMMExtended_test::testPayStrand ( )
private

Definition at line 3568 of file AMMExtended_test.cpp.

◆ run()

void xrpl::test::AMMExtended_test::run ( )
overrideprivatevirtual

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 3578 of file AMMExtended_test.cpp.

◆ reserve()

XRPAmount xrpl::test::jtx::AMMTest::reserve ( jtx::Env & env,
std::uint32_t count )
staticprotectedinherited

Definition at line 198 of file AMMTest.cpp.

◆ ammCrtFee()

XRPAmount xrpl::test::jtx::AMMTest::ammCrtFee ( jtx::Env & env)
staticprotectedinherited

Definition at line 204 of file AMMTest.cpp.

◆ pathTestEnv()

jtx::Env xrpl::test::jtx::AMMTest::pathTestEnv ( )
protectedinherited

Definition at line 210 of file AMMTest.cpp.

◆ testableAmendments()

FeatureBitset xrpl::test::jtx::AMMTestBase::testableAmendments ( )
staticinherited

Definition at line 86 of file AMMTest.h.

◆ testAMM() [1/2]

void xrpl::test::jtx::AMMTestBase::testAMM ( std::function< void(jtx::AMM &, jtx::Env &)> const & cb,
std::optional< std::pair< STAmount, STAmount > > const & pool = std::nullopt,
std::uint16_t tfee = 0,
std::optional< jtx::Ter > const & ter = std::nullopt,
std::vector< FeatureBitset > const & features = {testableAmendments()} )
protectedinherited

testAMM() funds 30,000XRP and 30,000IOU for each non-XRP asset to Alice and Carol

Definition at line 120 of file AMMTest.cpp.

◆ testAMM() [2/2]

void xrpl::test::jtx::AMMTestBase::testAMM ( std::function< void(jtx::AMM &, jtx::Env &)> const & cb,
TestAMMArg const & arg )
protectedinherited

Definition at line 131 of file AMMTest.cpp.

◆ thisSuite()

Suite * beast::unit_test::Suite::thisSuite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 155 of file suite.h.

◆ operator()()

template<class>
void beast::unit_test::Suite::operator() ( Runner & r)
inherited

Invokes the test using the specified runner.

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

Definition at line 388 of file suite.h.

◆ pass()

template<class>
void beast::unit_test::Suite::pass ( )
inherited

Record a successful test condition.

Definition at line 500 of file suite.h.

◆ fail() [1/2]

template<class String>
void beast::unit_test::Suite::fail ( String const & reason,
char const * file,
int line )
inherited

Record a failure.

Parameters
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.

Definition at line 522 of file suite.h.

◆ fail() [2/2]

template<class>
void beast::unit_test::Suite::fail ( std::string const & reason = "")
inherited

Definition at line 509 of file suite.h.

◆ expect() [1/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue)
inherited

Evaluate a test condition.

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

Parameters
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
Returns
true if the test condition indicates success.

Definition at line 223 of file suite.h.

◆ expect() [2/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason )
inherited

Definition at line 405 of file suite.h.

◆ expect() [3/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
char const * file,
int line )
inherited

Definition at line 234 of file suite.h.

◆ expect() [4/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason,
char const * file,
int line )
inherited

Definition at line 418 of file suite.h.

◆ except() [1/4]

template<class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 433 of file suite.h.

◆ except() [2/4]

template<class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 253 of file suite.h.

◆ except() [3/4]

template<class E, class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 450 of file suite.h.

◆ except() [4/4]

template<class E, class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 262 of file suite.h.

◆ unexcept() [1/2]

template<class F, class String>
bool beast::unit_test::Suite::unexcept ( F && f,
String const & reason )
inherited

Definition at line 467 of file suite.h.

◆ unexcept() [2/2]

template<class F>
bool beast::unit_test::Suite::unexcept ( F && f)
inherited

Definition at line 271 of file suite.h.

◆ arg()

std::string const & beast::unit_test::Suite::arg ( ) const
inherited

Return the argument associated with the runner.

Definition at line 278 of file suite.h.

◆ unexpected() [1/2]

template<class Condition, class String>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse,
String const & reason )
inherited

Definition at line 484 of file suite.h.

◆ unexpected() [2/2]

template<class Condition>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse)
inherited

Definition at line 291 of file suite.h.

◆ pThisSuite()

Suite ** beast::unit_test::Suite::pThisSuite ( )
staticprivateinherited

Definition at line 300 of file suite.h.

◆ propagateAbort()

void beast::unit_test::Suite::propagateAbort ( ) const
privateinherited

Definition at line 528 of file suite.h.

Member Data Documentation

◆ sg_

NumberMantissaScaleGuard const xrpl::test::AMMExtended_test::sg_ {xrpl::MantissaRange::MantissaScale::Small}
private

Definition at line 71 of file AMMExtended_test.cpp.

◆ all_

FeatureBitset const xrpl::test::AMMExtended_test::all_
private
Initial value:
{
testableAmendments() - featureSingleAssetVault - featureLendingProtocol}
static FeatureBitset testableAmendments()
Definition AMMTest.h:86

Definition at line 75 of file AMMExtended_test.cpp.

◆ gw_

jtx::Account const xrpl::test::jtx::AMMTestBase::gw_
protectedinherited

Definition at line 72 of file AMMTest.h.

◆ carol_

jtx::Account const xrpl::test::jtx::AMMTestBase::carol_
protectedinherited

Definition at line 73 of file AMMTest.h.

◆ alice_

jtx::Account const xrpl::test::jtx::AMMTestBase::alice_
protectedinherited

Definition at line 74 of file AMMTest.h.

◆ bob_

jtx::Account const xrpl::test::jtx::AMMTestBase::bob_
protectedinherited

Definition at line 75 of file AMMTest.h.

◆ USD

jtx::IOU const xrpl::test::jtx::AMMTestBase::USD
protectedinherited

Definition at line 76 of file AMMTest.h.

◆ EUR

jtx::IOU const xrpl::test::jtx::AMMTestBase::EUR
protectedinherited

Definition at line 77 of file AMMTest.h.

◆ GBP

jtx::IOU const xrpl::test::jtx::AMMTestBase::GBP
protectedinherited

Definition at line 78 of file AMMTest.h.

◆ BTC

jtx::IOU const xrpl::test::jtx::AMMTestBase::BTC
protectedinherited

Definition at line 79 of file AMMTest.h.

◆ BAD

jtx::IOU const xrpl::test::jtx::AMMTestBase::BAD
protectedinherited

Definition at line 80 of file AMMTest.h.

◆ abort_

bool beast::unit_test::Suite::abort_ = false
privateinherited

Definition at line 52 of file suite.h.

◆ aborted_

bool beast::unit_test::Suite::aborted_ = false
privateinherited

Definition at line 53 of file suite.h.

◆ runner_

Runner* beast::unit_test::Suite::runner_ = nullptr
privateinherited

Definition at line 54 of file suite.h.

◆ log

LogOs<char> beast::unit_test::Suite::log
inherited

Logging output stream.

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

Definition at line 146 of file suite.h.

◆ testcase

TestcaseT beast::unit_test::Suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 149 of file suite.h.