diff --git a/tests/pools/common/unitary/test_remove_liquidity_one_coin.py b/tests/pools/common/unitary/test_remove_liquidity_one_coin.py index 3a37d6ac..5c665b18 100644 --- a/tests/pools/common/unitary/test_remove_liquidity_one_coin.py +++ b/tests/pools/common/unitary/test_remove_liquidity_one_coin.py @@ -1,5 +1,6 @@ import brownie import pytest +from simulation import Curve pytestmark = [ pytest.mark.skip_pool("busd", "compound", "pax", "susd", "usdt", "y"), @@ -42,7 +43,7 @@ def test_lp_token_balance(alice, swap, pool_token, idx, divisor, n_coins, base_a @pytest.mark.itercoins("idx") @pytest.mark.parametrize("rate_mod", [0.9, 1.1]) -def test_expected_vs_actual(chain, alice, swap, wrapped_coins, pool_token, idx, rate_mod): +def test_expected_vs_actual(chain, alice, swap, wrapped_coins, pool_token, idx, n_coins, rate_mod): amount = pool_token.balanceOf(alice) // 10 wrapped = wrapped_coins[idx] @@ -57,6 +58,10 @@ def test_expected_vs_actual(chain, alice, swap, wrapped_coins, pool_token, idx, assert wrapped_coins[idx].balanceOf(alice) == expected + balances = [swap.balances(i) for i in range(n_coins)] + curve_model = Curve(swap.A(), balances, n_coins, tokens=pool_token.totalSupply()) + assert wrapped_coins[idx].balanceOf(alice) == curve_model.calc_withdraw_one_coin(amount, idx)[0] + @pytest.mark.itercoins("idx") def test_below_min_amount(alice, swap, wrapped_coins, pool_token, idx):