add
This commit is contained in:
137
ccxt/test/base/test_safe_ticker.py
Normal file
137
ccxt/test/base/test_safe_ticker.py
Normal file
@@ -0,0 +1,137 @@
|
||||
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.base.precise import Precise # noqa E402
|
||||
|
||||
def precise_equal_str(exchange, result, key, expected):
|
||||
return Precise.string_eq(exchange.safe_string(result, key), expected)
|
||||
|
||||
|
||||
def test_safe_ticker():
|
||||
exchange = ccxt.Exchange({
|
||||
'id': 'sampleexchange',
|
||||
})
|
||||
# CASE 1 - by open
|
||||
ticker1 = {
|
||||
'open': 5,
|
||||
'change': 1,
|
||||
}
|
||||
result1 = exchange.safe_ticker(ticker1)
|
||||
assert precise_equal_str(exchange, result1, 'percentage', '20.0')
|
||||
assert precise_equal_str(exchange, result1, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result1, 'close', '6.0')
|
||||
assert precise_equal_str(exchange, result1, 'last', '6.0')
|
||||
# CASE 2 - by open
|
||||
ticker2 = {
|
||||
'open': 5,
|
||||
'percentage': 20,
|
||||
}
|
||||
result2 = exchange.safe_ticker(ticker2)
|
||||
assert precise_equal_str(exchange, result2, 'change', '1.0')
|
||||
assert precise_equal_str(exchange, result2, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result2, 'close', '6.0')
|
||||
assert precise_equal_str(exchange, result2, 'last', '6.0')
|
||||
# CASE 3 - by close
|
||||
ticker3 = {
|
||||
'close': 6,
|
||||
'change': 1,
|
||||
}
|
||||
result3 = exchange.safe_ticker(ticker3)
|
||||
assert precise_equal_str(exchange, result3, 'open', '5.0')
|
||||
assert precise_equal_str(exchange, result3, 'percentage', '20.0')
|
||||
assert precise_equal_str(exchange, result3, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result3, 'last', '6.0')
|
||||
# CASE 4 - by close
|
||||
ticker4 = {
|
||||
'close': 6,
|
||||
'percentage': 20,
|
||||
}
|
||||
result4 = exchange.safe_ticker(ticker4)
|
||||
assert precise_equal_str(exchange, result4, 'open', '5.0')
|
||||
assert precise_equal_str(exchange, result4, 'change', '1.0')
|
||||
assert precise_equal_str(exchange, result4, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result4, 'last', '6.0')
|
||||
# CASE 5 - by average
|
||||
ticker5 = {
|
||||
'average': 5.5,
|
||||
'percentage': 20,
|
||||
}
|
||||
result5 = exchange.safe_ticker(ticker5)
|
||||
assert precise_equal_str(exchange, result5, 'open', '5.0')
|
||||
assert precise_equal_str(exchange, result5, 'change', '1.0')
|
||||
assert precise_equal_str(exchange, result5, 'close', '6.0')
|
||||
assert precise_equal_str(exchange, result5, 'last', '6.0')
|
||||
# CASE 6
|
||||
ticker6 = {
|
||||
'average': 5.5,
|
||||
'change': 1,
|
||||
}
|
||||
result6 = exchange.safe_ticker(ticker6)
|
||||
assert precise_equal_str(exchange, result6, 'open', '5.0')
|
||||
assert precise_equal_str(exchange, result6, 'percentage', '20.0')
|
||||
assert precise_equal_str(exchange, result6, 'close', '6.0')
|
||||
assert precise_equal_str(exchange, result6, 'last', '6.0')
|
||||
# CASE 7 - by open and close
|
||||
ticker7 = {
|
||||
'open': 5,
|
||||
'close': 6,
|
||||
}
|
||||
result7 = exchange.safe_ticker(ticker7)
|
||||
assert precise_equal_str(exchange, result7, 'change', '1.0')
|
||||
assert precise_equal_str(exchange, result7, 'percentage', '20.0')
|
||||
assert precise_equal_str(exchange, result7, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result7, 'last', '6.0')
|
||||
# CASE 8 - full ticker
|
||||
ticker8 = {
|
||||
'open': 5,
|
||||
'close': 6,
|
||||
'last': 6,
|
||||
'high': 6.5,
|
||||
'low': 4.5,
|
||||
'average': 5.5,
|
||||
'bid': 5.9,
|
||||
'bidVolume': 100,
|
||||
'ask': 6.1,
|
||||
'askVolume': 200,
|
||||
'change': 1,
|
||||
'percentage': 20,
|
||||
'vwap': 5.75,
|
||||
'baseVolume': 1000,
|
||||
'quoteVolume': 5750,
|
||||
'previousClose': 4.9,
|
||||
'indexPrice': 5.8,
|
||||
'markPrice': 5.9,
|
||||
'info': {},
|
||||
}
|
||||
result8 = exchange.safe_ticker(ticker8)
|
||||
assert precise_equal_str(exchange, result8, 'open', '5.0')
|
||||
assert precise_equal_str(exchange, result8, 'high', '6.5')
|
||||
assert precise_equal_str(exchange, result8, 'low', '4.5')
|
||||
assert precise_equal_str(exchange, result8, 'close', '6.0')
|
||||
assert precise_equal_str(exchange, result8, 'last', '6.0')
|
||||
assert precise_equal_str(exchange, result8, 'change', '1.0')
|
||||
assert precise_equal_str(exchange, result8, 'percentage', '20.0')
|
||||
assert precise_equal_str(exchange, result8, 'average', '5.5')
|
||||
assert precise_equal_str(exchange, result8, 'bid', '5.9')
|
||||
assert precise_equal_str(exchange, result8, 'bidVolume', '100.0')
|
||||
assert precise_equal_str(exchange, result8, 'ask', '6.1')
|
||||
assert precise_equal_str(exchange, result8, 'askVolume', '200.0')
|
||||
assert precise_equal_str(exchange, result8, 'vwap', '5.75')
|
||||
assert precise_equal_str(exchange, result8, 'baseVolume', '1000.0')
|
||||
assert precise_equal_str(exchange, result8, 'quoteVolume', '5750.0')
|
||||
assert precise_equal_str(exchange, result8, 'previousClose', '4.9')
|
||||
assert precise_equal_str(exchange, result8, 'indexPrice', '5.8')
|
||||
assert precise_equal_str(exchange, result8, 'markPrice', '5.9')
|
||||
assert result8['info'] is not None
|
||||
Reference in New Issue
Block a user