Add tests for price_one_pip
This commit is contained in:
		| @@ -459,7 +459,7 @@ class Exchange: | ||||
|         """ | ||||
|         precision = self.markets[pair]['precision']['price'] | ||||
|         if self.precisionMode == TICK_SIZE: | ||||
|             return price % precision | ||||
|             return precision | ||||
|         else: | ||||
|             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 | ||||
|  | ||||
|  | ||||
| @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): | ||||
|     """ | ||||
|     Test working scenario | ||||
|   | ||||
		Reference in New Issue
	
	Block a user