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.test.exchange.base import test_shared_methods # noqa E402 def test_trade(exchange, skipped_properties, method, entry, symbol, now): format = { 'info': {}, 'id': '12345-67890:09876/54321', 'timestamp': 1502962946216, 'datetime': '2017-08-17 12:42:48.000', 'symbol': 'ETH/BTC', 'order': '12345-67890:09876/54321', 'side': 'buy', 'takerOrMaker': 'taker', 'price': exchange.parse_number('0.06917684'), 'amount': exchange.parse_number('1.5'), 'cost': exchange.parse_number('0.10376526'), 'fees': [], 'fee': {}, } # todo: add takeOrMaker as mandatory (atm, many exchanges fail) # removed side because some public endpoints return trades without side empty_allowed_for = ['fees', 'fee', 'symbol', 'order', 'id', 'takerOrMaker'] 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, now) test_shared_methods.assert_symbol(exchange, skipped_properties, method, entry, 'symbol', symbol) # test_shared_methods.assert_in_array(exchange, skipped_properties, method, entry, 'side', ['buy', 'sell']) test_shared_methods.assert_in_array(exchange, skipped_properties, method, entry, 'takerOrMaker', ['taker', 'maker']) test_shared_methods.assert_fee_structure(exchange, skipped_properties, method, entry, 'fee') if not ('fees' in skipped_properties): # todo: remove undefined check and probably non-empty array check later if entry['fees'] is not None: for i in range(0, len(entry['fees'])): test_shared_methods.assert_fee_structure(exchange, skipped_properties, method, entry['fees'], i)