UNPKG

sfccxt

Version:

A JavaScript / Python / PHP cryptocurrency trading library with support for 130+ exchanges

54 lines (42 loc) 1.91 kB
'use strict' const { safeFloat, safeInteger, safeValue } = require ('../../../../ccxt') const { strictEqual: equal } = require ('assert') function testSafeFloatSafeInteger() { const $default = {} const fns = { safeFloat, safeInteger } for (const fn of ['safeFloat', 'safeInteger']) { equal (fns[fn] ({ 'x': false }, 'x', $default), $default) equal (fns[fn] ({ 'x': true }, 'x', $default), $default) equal (fns[fn] ({ 'x': [] }, 'x', $default), $default) equal (fns[fn] ({ 'x': [0] }, 'x', $default), $default) equal (fns[fn] ({ 'x': [1] }, 'x', $default), $default) equal (fns[fn] ({ 'x': {} }, 'x', $default), $default) equal (fns[fn] ({ 'x': Number.NaN }, 'x'), undefined) equal (fns[fn] ({ 'x': Number.POSITIVE_INFINITY }, 'x'), undefined) equal (fns[fn] ({ 'x': null }, 'x', undefined), undefined) equal (fns[fn] ({ 'x': null }, 'x', $default), $default) equal (fns[fn] ({ 'x': '1.0' }, 'x'), 1.0) equal (fns[fn] ({ 'x': '-1.0' }, 'x'), -1.0) equal (fns[fn] ({ 'x': 1.0 }, 'x'), 1.0) equal (fns[fn] ({ 'x': 0 }, 'x'), 0) equal (fns[fn] ({ 'x': undefined }, 'x', $default), $default) equal (fns[fn] ({ 'x': "" }, 'x'), undefined) equal (fns[fn] ({ 'x': "" }, 'x', 0), 0) equal (fns[fn] ({}, 'x'), undefined) equal (fns[fn] ({}, 'x', 0), 0) } equal (safeFloat ({ 'x': 1.59999999 }, 'x'), 1.59999999) equal (safeInteger ({ 'x': 1.59999999 }, 'x'), 1) } function testSafeValue() { equal (safeValue ({}, 'foo'), undefined) equal (safeValue ({}, 'foo', 'bar'), 'bar') equal (safeValue ({ 'foo': 'bar' }, 'foo'), 'bar') equal (safeValue ({ 'foo': '' }, 'foo'), undefined) equal (safeValue ({ 'foo': 0 }, 'foo'), 0) } function testType () { testSafeFloatSafeInteger () testSafeValue () } testType ()