def test_fast_forceint_returns_raises_ValueError_if_raise_on_invalid_is_True_and_default_is_given( x): with raises(ValueError): assert fastnumbers.fast_forceint(x, default=90.0, raise_on_invalid=True) assert fastnumbers.fast_forceint(x, 90.0, True)
def test_fast_forceint_given_float_returns_int(x): assume(not math.isnan(x)) assume(not math.isinf(x)) assert fastnumbers.fast_forceint(x) == int(x) assert fastnumbers.fast_forceint(x, raise_on_invalid=True) == int(x) assert fastnumbers.fast_forceint(x, None, True) == int(x) assert isinstance(fastnumbers.fast_forceint(x), (int, long))
def test_fast_forceint_given_inf_string_raises_OverflowError_with_raise_on_invalid_as_True( ): with raises(OverflowError): fastnumbers.fast_forceint('inf', raise_on_invalid=True) fastnumbers.fast_forceint('-infinity', raise_on_invalid=True) fastnumbers.fast_forceint('inf', None, True) fastnumbers.fast_forceint('-infinity', None, True)
def state_to_number(s): r = s.rect.left c = s.circle.circleY n = fast_forceint(str(r) + str(c) + str(s.circle.circleX)) if n in QIDic: return QIDic[n] else: if len(QIDic): # Just use 'min' instead of 'max' for minimum. maximum = max(QIDic, key=QIDic.get) QIDic[n] = QIDic[maximum] + 1 else: QIDic[n] = 1 return QIDic[n]
def _checktype(self, value): if value is not None and fastnumbers is not None: value = fastnumbers.fast_forceint(value) if isinstance(value, int): return value raise TypeError(u'IntColumn expects integers, not %s' % safe_decode(value)) if isinstance(value, int): return value try: return int(float(value)) except: raise TypeError(u'IntColumn expects integers, not %s' % safe_decode(value))
def test_fast_forceint_given_padded_float_strings_returns_int(x, y, z): assume(not math.isnan(x)) assume(not math.isinf(x)) y = ''.join(repeat(' ', y)) + repr(x) + ''.join(repeat(' ', z)) assert fastnumbers.fast_forceint(y) == int(x) assert isinstance(fastnumbers.fast_forceint(y), (int, long))
def test_fast_forceint_returns_input_as_is_if_valid_and_key_is_given(x): assume(not math.isnan(x)) assume(not math.isinf(x)) fastnumbers.fast_forceint(x, key=len) == int(x) fastnumbers.fast_forceint(str(x), key=len) == int(x)
def test_fast_forceint_given_invalid_type_raises_TypeError(x): with raises(TypeError): fastnumbers.fast_forceint(x)
def test_fast_forceint_given_invalid_string_returns_string_as_is(x): assume(not a_number(x)) assert fastnumbers.fast_forceint(x) is x
def test_fast_forceint_given_unicode_numeral_returns_int(x): assert fastnumbers.fast_forceint(x) == int(unicodedata.numeric(x)) assert isinstance(fastnumbers.fast_forceint(x), (int, long)) # Try padded as well assert fastnumbers.fast_forceint(u' ' + x + u' ') == int(unicodedata.numeric(x))
def test_fast_forceint_given_padded_int_string_returns_int(x, y, z): y = ''.join(repeat(' ', y)) + repr(x) + ''.join(repeat(' ', z)) assert fastnumbers.fast_forceint(y) == x assert isinstance(fastnumbers.fast_forceint(y), (int, long))
def test_fast_forceint(): # 1. float number assert fastnumbers.fast_forceint(-367.3268) == -367 assert fastnumbers.fast_forceint(-367.3268, raise_on_invalid=True) == -367 # 2. signed float string assert fastnumbers.fast_forceint("+367.3268") == 367 assert fastnumbers.fast_forceint("+367.3268", raise_on_invalid=True) == 367 # 3. float string with exponents assert fastnumbers.fast_forceint("-367.3268e207") == long(-367.3268e207) # 4. float string with padded whitespace assert fastnumbers.fast_forceint(" -367.04 ") == -367 # 5. int number assert fastnumbers.fast_forceint(499) == 499 # 6. signed int string assert fastnumbers.fast_forceint('-499') == -499 # 7. int string with padded whitespace assert fastnumbers.fast_forceint(' +3001 ') == 3001 # 8. long number assert fastnumbers.fast_forceint( 35892482945872302493) == 35892482945872302493 # 9. long string assert fastnumbers.fast_forceint( "35892482945872302493") == 35892482945872302493 # 10. return type assert isinstance(fastnumbers.fast_forceint(4029.00), int) assert isinstance(fastnumbers.fast_forceint("4029.00"), int) # 11. TypeError for invalid input with raises(TypeError): fastnumbers.fast_forceint(['hey']) # 12. Invalid input string assert fastnumbers.fast_forceint('not_a_number') == 'not_a_number' with raises(ValueError): assert fastnumbers.fast_forceint('not_a_number', raise_on_invalid=True) # 13. Invalid input string with numbers assert fastnumbers.fast_forceint('26.8 lb') == '26.8 lb' with raises(ValueError): assert fastnumbers.fast_forceint('26.8 lb', None, True) # 14. Infinity assert fastnumbers.fast_forceint('inf') == 'inf' assert fastnumbers.fast_forceint('-iNFinity') == '-iNFinity' # 15. NaN assert fastnumbers.fast_forceint('nan') == 'nan' # 16. Sign/'e'/'.' only assert fastnumbers.fast_forceint('+') == '+' assert fastnumbers.fast_forceint('-') == '-' assert fastnumbers.fast_forceint('e') == 'e' assert fastnumbers.fast_forceint('.') == '.' # 17. Default on invalid... 'raise_on_invalid' supersedes assert fastnumbers.fast_forceint('invalid', default=90) == 90 assert fastnumbers.fast_forceint('invalid', default=None) is None with raises(ValueError): assert fastnumbers.fast_forceint('invalid', 90, True) # 18. Unicode numbers assert fastnumbers.fast_forceint(u'⑦') == 7 assert fastnumbers.fast_forceint(u'⁸') == 8 assert fastnumbers.fast_forceint(u'⅔') == 0 assert fastnumbers.fast_forceint(u'Ⅴ') == 5 # 19. Key function assert fastnumbers.fast_forceint(76.8, key=len) == 76 assert fastnumbers.fast_forceint('76.8', key=len) == 76 assert fastnumbers.fast_forceint('invalid', key=len) == 7
def test_fast_forceint(): # 1. float number assert fastnumbers.fast_forceint(-367.3268) == -367 assert fastnumbers.fast_forceint(-367.3268, raise_on_invalid=True) == -367 # 2. signed float string assert fastnumbers.fast_forceint("+367.3268") == 367 assert fastnumbers.fast_forceint("+367.3268", raise_on_invalid=True) == 367 # 3. float string with exponents assert fastnumbers.fast_forceint("-367.3268e207") == long(-367.3268e207) # 4. float string with padded whitespace assert fastnumbers.fast_forceint(" -367.04 ") == -367 # 5. int number assert fastnumbers.fast_forceint(499) == 499 # 6. signed int string assert fastnumbers.fast_forceint("-499") == -499 # 7. int string with padded whitespace assert fastnumbers.fast_forceint(" +3001 ") == 3001 # 8. long number assert fastnumbers.fast_forceint(35892482945872302493) == 35892482945872302493 # 9. long string assert fastnumbers.fast_forceint("35892482945872302493") == 35892482945872302493 # 10. return type assert isinstance(fastnumbers.fast_forceint(4029.00), int) assert isinstance(fastnumbers.fast_forceint("4029.00"), int) # 11. TypeError for invalid input with raises(TypeError): fastnumbers.fast_forceint(["hey"]) # 12. Invalid input string assert fastnumbers.fast_forceint("not_a_number") == "not_a_number" with raises(ValueError): assert fastnumbers.fast_forceint("not_a_number", raise_on_invalid=True) # 13. Invalid input string with numbers assert fastnumbers.fast_forceint("26.8 lb") == "26.8 lb" with raises(ValueError): assert fastnumbers.fast_forceint("26.8 lb", None, True) # 14. Infinity assert fastnumbers.fast_forceint("inf") == "inf" assert fastnumbers.fast_forceint("-iNFinity") == "-iNFinity" # 15. NaN assert fastnumbers.fast_forceint("nan") == "nan" # 16. Sign/'e'/'.' only assert fastnumbers.fast_forceint("+") == "+" assert fastnumbers.fast_forceint("-") == "-" assert fastnumbers.fast_forceint("e") == "e" assert fastnumbers.fast_forceint(".") == "." # 17. Default on invalid... 'raise_on_invalid' supersedes assert fastnumbers.fast_forceint("invalid", default=90) == 90 assert fastnumbers.fast_forceint("invalid", default=None) is None with raises(ValueError): assert fastnumbers.fast_forceint("invalid", 90, True) # 18. Unicode numbers assert fastnumbers.fast_forceint(u"⑦") == 7 assert fastnumbers.fast_forceint(u"⁸") == 8 assert fastnumbers.fast_forceint(u"⅔") == 0 assert fastnumbers.fast_forceint(u"Ⅴ") == 5 # 19. Key function assert fastnumbers.fast_forceint(76.8, key=len) == 76 assert fastnumbers.fast_forceint("76.8", key=len) == 76 assert fastnumbers.fast_forceint("invalid", key=len) == 7
import json import requests from fastnumbers import fast_forceint ##fastnumbers force_int will handle the int conversion of data:wq #Curl API r = requests.get('https://koinex.in/api/ticker') print(r) #pythonJsonObject with 'u' json_string = r.json() #Make O/P Data d = { 'vol_24Hrs': { 'ETH': fast_forceint(json_string['stats']['ETH']['vol_24hrs']), 'BTC': fast_forceint(json_string['stats']['BTC']['vol_24hrs']), 'LTC': fast_forceint(json_string['stats']['LTC']['vol_24hrs']), 'XRP': fast_forceint(json_string['stats']['XRP']['vol_24hrs']), 'BCH': fast_forceint(json_string['stats']['BCH']['vol_24hrs']) } } #PythonObjectToJsonData parsed_json = json.dumps(d) print parsed_json
def test_fast_forceint_returns_input_as_is_if_valid_and_key_is_given(x): assert fastnumbers.fast_forceint(x, key=len) == int(x) assert fastnumbers.fast_forceint(repr(x), key=len) == int(x)
def test_fast_forceint_given_int_returns_int(x): assert fastnumbers.fast_forceint(x) == x assert isinstance(fastnumbers.fast_forceint(x), (int, long))
def test_fast_forceint_given_int_string_returns_int(x): y = repr(x) assert fastnumbers.fast_forceint(y) == x assert isinstance(fastnumbers.fast_forceint(y), (int, long))
def test_fast_forceint_with_no_arguments_fails(): with raises(TypeError): fastnumbers.fast_forceint(5, invalid='dummy')
def test_fast_forceint_given_unicode_digit_returns_int(x): assert fastnumbers.fast_forceint(x) == unicodedata.digit(x) assert isinstance(fastnumbers.fast_forceint(x), (int, long)) # Try padded as well assert fastnumbers.fast_forceint(u' ' + x + u' ') == unicodedata.digit(x)
def test_fast_forceint_given_dumb_class_responds_to_internal_ValueError(): x = DumbIntClass() assert fastnumbers.fast_forceint(x) is x with raises(ValueError): fastnumbers.fast_forceint(x, raise_on_invalid=True) assert fastnumbers.fast_forceint(x, default=5) == 5
def test_fast_forceint_given_unicode_non_numeral_returns_as_is(x): assert fastnumbers.fast_forceint(x) == x
def test_fast_forceint_given_nan_raises_ValueError_or_returns_as_is_or_returns_default(): with raises(ValueError): fastnumbers.fast_forceint(float('nan'), raise_on_invalid=True) assert math.isnan(fastnumbers.fast_forceint(float('nan'))) assert fastnumbers.fast_forceint(float('nan'), 'Sample') == 'Sample'
def test_fast_forceint_given_invalid_string_raises_ValueError_if_raise_on_invalid_is_True(x): assume(not a_number(x)) with raises(ValueError): fastnumbers.fast_forceint(x, raise_on_invalid=True) fastnumbers.fast_forceint(x, None, True)
def test_fast_forceint_given_inf_raises_OverflowError(): with raises(OverflowError): fastnumbers.fast_forceint(float('inf'), raise_on_invalid=True) assert math.isinf(fastnumbers.fast_forceint(float('inf'))) assert fastnumbers.fast_forceint(float('inf'), 'Sample') == 'Sample'
def test_fast_forceint_returns_default_value_if_given_invalid_string(x): assume(not a_number(x)) assert fastnumbers.fast_forceint(x, default=90.0) == 90.0 assert fastnumbers.fast_forceint(x, 90.0) == 90.0
def test_fast_forceint_given_nan_string_raises_ValueError_with_raise_on_invalid_as_True(): with raises(ValueError): fastnumbers.fast_forceint('nan', raise_on_invalid=True) fastnumbers.fast_forceint('nan', None, True)
def test_fast_forceint_returns_transformed_input_if_invalid_and_key_is_given(x): assume(not a_number(x)) fastnumbers.fast_forceint(x, key=len) == len(x)
def test_fast_forceint_given_float_string_returns_int(x): y = repr(x) assert fastnumbers.fast_forceint(y) == int(x) assert fastnumbers.fast_forceint(y, None, True) == int(x) assert fastnumbers.fast_forceint(y, raise_on_invalid=True) == int(x) assert isinstance(fastnumbers.fast_forceint(y), (int, long))