From 30bd0c2a5c495604ab49157619757345376ed72c Mon Sep 17 00:00:00 2001 From: czanella Date: Sat, 3 Aug 2024 10:54:25 +0100 Subject: [PATCH] Fix some assertions in integration test The foundation is: marginal price > executed price > price after swap. And this check is verified for multiple amounts --- evm/test/AdapterTest.sol | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/evm/test/AdapterTest.sol b/evm/test/AdapterTest.sol index 643064f..188eab3 100644 --- a/evm/test/AdapterTest.sol +++ b/evm/test/AdapterTest.sol @@ -83,6 +83,8 @@ contract AdapterTest is Test, ISwapAdapterTypes { console2.log("TEST: Testing behavior for price at 0"); assertGt(prices[0].numerator, 0, "Nominator shouldn't be 0"); assertGt(prices[0].denominator, 0, "Denominator shouldn't be 0"); + uint256 priceAtZero = fractionToInt(prices[0]); + console2.log("TEST: Price at 0: %d", priceAtZero); Trade memory trade; deal(tokenIn, address(this), 5 * amounts[amounts.length - 1]); @@ -104,14 +106,14 @@ contract AdapterTest is Test, ISwapAdapterTypes { uint256 executedPrice = trade.calculatedAmount * pricePrecision / amounts[j]; uint256 priceAfterSwap = fractionToInt(trade.price); - console2.log("TEST: - Pool price: %d", priceAtAmount); console2.log("TEST: - Executed price: %d", executedPrice); + console2.log("TEST: - Price at amount: %d", priceAtAmount); console2.log("TEST: - Price after swap: %d", priceAfterSwap); if (hasPriceImpact) { assertGe( - priceAtAmount, executedPrice, + priceAtAmount, "Price should be greated than executed price." ); assertGt( @@ -120,24 +122,24 @@ contract AdapterTest is Test, ISwapAdapterTypes { "Executed price should be greater than price after swap." ); assertGt( - priceAtAmount, - priceAfterSwap, + priceAtZero, + executedPrice, "Price should be greated than price after swap." ); } else { assertGe( - priceAtAmount, - executedPrice, - "Price should be greater or equal to executed price." - ); - assertGe( - executedPrice, + priceAtZero, priceAfterSwap, "Executed price should be or equal to price after swap." ); assertGe( + priceAtZero, priceAtAmount, - priceAfterSwap, + "Executed price should be or equal to price after swap." + ); + assertGe( + priceAtZero, + executedPrice, "Price should be or equal to price after swap." ); }