Skip to content

Commit 08cd1fb

Browse files
committed
fuzz timesteps for test_update_every_block
1 parent abf9120 commit 08cd1fb

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

hydradx/tests/test_oracle.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from hydradx.model.amm.agents import Agent
88
from hydradx.model.amm.trade_strategies import schedule_swaps
99
from hydradx.model import run
10-
from hypothesis import given, strategies as st, settings
10+
from hypothesis import given, strategies as st, settings, assume
1111
from hydradx.tests.strategies_omnipool import asset_price_strategy, asset_quantity_strategy, \
1212
asset_quantity_bounded_strategy
1313
from mpmath import mpf, mp
@@ -49,7 +49,8 @@ def test_oracle_multi_block_update():
4949
raise AssertionError(f"Oracle mismatch in {attr} for token {tkn}")
5050

5151

52-
def test_update_every_block():
52+
@given(time_steps=st.integers(min_value=1, max_value=10))
53+
def test_update_every_block(time_steps):
5354
omnipool1 = OmnipoolState(
5455
tokens={
5556
'HDX': {'liquidity': 100000, 'LRNA': 100},
@@ -58,7 +59,7 @@ def test_update_every_block():
5859
unique_id='omnipool1'
5960
)
6061
omnipool2 = omnipool1.copy()
61-
omnipool2.update_function = lambda self: self.oracles['price'].update(self.current_block)
62+
omnipool2.update_function = OmnipoolState.update_oracles
6263
omnipool2.unique_id = 'omnipool2'
6364
swaps = [
6465
*[None] * 4,
@@ -77,9 +78,9 @@ def test_update_every_block():
7778
pools={'omnipool1': omnipool1, 'omnipool2': omnipool2},
7879
agents={'trader1': trader1, 'trader2': trader2},
7980
)
80-
events = run.run(initial_state, time_steps=10, silent=True)
81+
events = run.run(initial_state, time_steps=time_steps, silent=True)
8182
for pool in events[-1].pools.values():
82-
pool.oracles['price'].update(pool.current_block)
83+
pool.update_oracles()
8384

8485
final_oracles = [pool.oracles['price'] for pool in events[-1].pools.values()]
8586
for tkn in initial_state.asset_list:
@@ -257,6 +258,7 @@ def test_oracle_one_block_with_swaps(lrna: list[float], oracle_liquidity: list[f
257258

258259

259260
def test_oracle_multi_block():
261+
time_steps = 10
260262
init_liquidity = {
261263
'HDX': {'liquidity': 100000, 'LRNA': 100000},
262264
'USD': {'liquidity': 100000, 'LRNA': 100000},
@@ -297,7 +299,7 @@ def test_oracle_multi_block():
297299
)}
298300
)
299301

300-
events = run.run(initial_state=initial_state, time_steps=10, silent=True)
302+
events = run.run(initial_state=initial_state, time_steps=time_steps, silent=True)
301303
final_omnipool = events[-1].pools['omnipool'].update()
302304
omnipool_oracle = final_omnipool.oracles['price']
303305
expected_vol_in = {'DOT': 66.66324219149098, 'HDX': 178.8008316214096, 'USD': 0}

0 commit comments

Comments
 (0)