add
This commit is contained in:
50
ccxt/test/exchange/base/test_liquidation.py
Normal file
50
ccxt/test/exchange/base/test_liquidation.py
Normal file
@@ -0,0 +1,50 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))))
|
||||
sys.path.append(root)
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
||||
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from ccxt.base.precise import Precise # noqa E402
|
||||
from ccxt.test.exchange.base import test_shared_methods # noqa E402
|
||||
|
||||
def test_liquidation(exchange, skipped_properties, method, entry, symbol):
|
||||
format = {
|
||||
'info': {},
|
||||
'symbol': 'ETH/BTC',
|
||||
'contracts': exchange.parse_number('1.234'),
|
||||
'contractSize': exchange.parse_number('1.234'),
|
||||
'price': exchange.parse_number('1.234'),
|
||||
'baseValue': exchange.parse_number('1.234'),
|
||||
'quoteValue': exchange.parse_number('1.234'),
|
||||
'timestamp': 1502962946216,
|
||||
'datetime': '2017-09-01T00:00:00',
|
||||
}
|
||||
# todo: atm, many exchanges fail, so temporarily decrease stict mode
|
||||
empty_allowed_for = ['timestamp', 'datetime', 'quoteValue', 'baseValue', 'previousClose', 'price', 'contractSize', 'contracts']
|
||||
test_shared_methods.assert_structure(exchange, skipped_properties, method, entry, format, empty_allowed_for)
|
||||
test_shared_methods.assert_timestamp_and_datetime(exchange, skipped_properties, method, entry)
|
||||
log_text = test_shared_methods.log_template(exchange, method, entry)
|
||||
test_shared_methods.assert_greater(exchange, skipped_properties, method, entry, 'contracts', '0')
|
||||
test_shared_methods.assert_greater(exchange, skipped_properties, method, entry, 'contractSize', '0')
|
||||
test_shared_methods.assert_greater(exchange, skipped_properties, method, entry, 'price', '0')
|
||||
test_shared_methods.assert_greater(exchange, skipped_properties, method, entry, 'baseValue', '0')
|
||||
test_shared_methods.assert_greater(exchange, skipped_properties, method, entry, 'quoteValue', '0')
|
||||
contracts = exchange.safe_string(entry, 'contracts')
|
||||
contract_size = exchange.safe_string(entry, 'contractSize')
|
||||
price = exchange.safe_string(entry, 'price')
|
||||
base_value = exchange.safe_string(entry, 'baseValue')
|
||||
if contracts and contract_size:
|
||||
assert Precise.string_eq(base_value, Precise.string_mul(contracts, contract_size)), 'baseValue == contracts * contractSize' + log_text
|
||||
if price:
|
||||
assert Precise.string_eq(base_value, Precise.string_mul(Precise.string_mul(contracts, contract_size), price)), 'quoteValue == contracts * contractSize * price' + log_text
|
||||
# if singular was called, then symbol needs to be asserted
|
||||
if method == 'watchLiquidations' or method == 'fetchLiquidations':
|
||||
test_shared_methods.assert_symbol(exchange, skipped_properties, method, entry, 'symbol', symbol)
|
||||
Reference in New Issue
Block a user