Add tests for price_one_pip
This commit is contained in:
parent
36e714a7b2
commit
33b6c7de5b
@ -459,7 +459,7 @@ class Exchange:
|
|||||||
"""
|
"""
|
||||||
precision = self.markets[pair]['precision']['price']
|
precision = self.markets[pair]['precision']['price']
|
||||||
if self.precisionMode == TICK_SIZE:
|
if self.precisionMode == TICK_SIZE:
|
||||||
return price % precision
|
return precision
|
||||||
else:
|
else:
|
||||||
return 1 / pow(10, precision)
|
return 1 / pow(10, precision)
|
||||||
|
|
||||||
|
@ -253,6 +253,32 @@ def test_price_to_precision(default_conf, mocker, price, precision_mode, precisi
|
|||||||
assert pytest.approx(exchange.price_to_precision(pair, price)) == expected
|
assert pytest.approx(exchange.price_to_precision(pair, price)) == expected
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("price,precision_mode,precision,expected", [
|
||||||
|
(2.34559, 2, 4, 0.0001),
|
||||||
|
(2.34559, 2, 5, 0.00001),
|
||||||
|
(2.34559, 2, 3, 0.001),
|
||||||
|
(2.9999, 2, 3, 0.001),
|
||||||
|
(200.0511, 2, 3, 0.001),
|
||||||
|
# Tests for Tick_size
|
||||||
|
(2.34559, 4, 0.0001, 0.0001),
|
||||||
|
(2.34559, 4, 0.00001, 0.00001),
|
||||||
|
(2.34559, 4, 0.0025, 0.0025),
|
||||||
|
(2.9909, 4, 0.0025, 0.0025),
|
||||||
|
(234.43, 4, 0.5, 0.5),
|
||||||
|
(234.43, 4, 0.0025, 0.0025),
|
||||||
|
(234.43, 4, 0.00013, 0.00013),
|
||||||
|
|
||||||
|
])
|
||||||
|
def test_price_get_one_pip(default_conf, mocker, price, precision_mode, precision, expected):
|
||||||
|
markets = PropertyMock(return_value={'ETH/BTC': {'precision': {'price': precision}}})
|
||||||
|
exchange = get_patched_exchange(mocker, default_conf, id="binance")
|
||||||
|
mocker.patch('freqtrade.exchange.Exchange.markets', markets)
|
||||||
|
mocker.patch('freqtrade.exchange.Exchange.precisionMode',
|
||||||
|
PropertyMock(return_value=precision_mode))
|
||||||
|
pair = 'ETH/BTC'
|
||||||
|
assert pytest.approx(exchange.price_get_one_pip(pair, price)) == expected
|
||||||
|
|
||||||
|
|
||||||
def test_set_sandbox(default_conf, mocker):
|
def test_set_sandbox(default_conf, mocker):
|
||||||
"""
|
"""
|
||||||
Test working scenario
|
Test working scenario
|
||||||
|
Loading…
Reference in New Issue
Block a user