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_margin_mode  # noqa E402
from ccxt.test.exchange.base import test_shared_methods  # noqa E402

def test_fetch_margin_modes(exchange, skipped_properties, symbol):
    method = 'fetchMarginModes'
    margin_modes = exchange.fetch_margin_modes(['symbol'])
    assert isinstance(margin_modes, dict), exchange.id + ' ' + method + ' ' + symbol + ' must return an object. ' + exchange.json(margin_modes)
    margin_mode_keys = list(margin_modes.keys())
    test_shared_methods.assert_non_emtpy_array(exchange, skipped_properties, method, margin_modes, symbol)
    for i in range(0, len(margin_mode_keys)):
        margin_mode = margin_modes[margin_mode_keys[i]]
        test_shared_methods.assert_non_emtpy_array(exchange, skipped_properties, method, margin_mode, symbol)
        test_margin_mode(exchange, skipped_properties, method, margin_mode)
    return True
