import os
import sys

root = 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 -*-

import ccxt  # noqa: F402
from ccxt.test.exchange.base import test_shared_methods  # noqa E402

def test_sort_by():
    # todo: other argument checks
    exchange = ccxt.Exchange({
        'id': 'sampleexchange',
    })
    arr = [{
    'x': 5,
}, {
    'x': 2,
}, {
    'x': 4,
}, {
    'x': 0,
}, {
    'x': 1,
}, {
    'x': 3,
}]
    new_array = exchange.sort_by(arr, 'x')
    test_shared_methods.assert_deep_equal(exchange, None, 'sortBy', new_array, [{
    'x': 0,
}, {
    'x': 1,
}, {
    'x': 2,
}, {
    'x': 3,
}, {
    'x': 4,
}, {
    'x': 5,
}])
    new_array_descending = exchange.sort_by(arr, 'x', True)
    test_shared_methods.assert_deep_equal(exchange, None, 'sortBy', new_array_descending, [{
    'x': 5,
}, {
    'x': 4,
}, {
    'x': 3,
}, {
    'x': 2,
}, {
    'x': 1,
}, {
    'x': 0,
}])
    empty_array = exchange.sort_by([], 'x')
    test_shared_methods.assert_deep_equal(exchange, None, 'sortBy', empty_array, [])
