Fix some assertions in integration test

The foundation is:
marginal price > executed price > price after swap.

And this check is verified for multiple amounts
This commit is contained in:
czanella
2024-08-03 10:54:25 +01:00
parent 9411fc2b67
commit 30bd0c2a5c

View File

@@ -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."
);
}