{ "cases": [ { "name": "positive number to integer => integer", "expression": "@{toInteger(2.7182)}", "expected": { "type": "integer", "value": 2 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "positive number to integer => integer", "expression": "@{toInteger(3.1415)}", "expected": { "type": "integer", "value": 3 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "negative number to integer => integer", "expression": "@{toInteger(-2.7182)}", "expected": { "type": "integer", "value": -2 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "negative number to integer => integer", "expression": "@{toInteger(-3.1415)}", "expected": { "type": "integer", "value": -3 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "positive out-of-range number to integer => error", "expression": "@{toInteger(3.1415e64)}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger(3.1415E64)]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "negative out-of-range number to integer => error", "expression": "@{toInteger(-3.1415e64)}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger(-3.1415E64)]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "integer string to integer => integer", "expression": "@{toInteger('1')}", "expected": { "type": "integer", "value": 1 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "positive integer string to integer => integer", "expression": "@{toInteger('+1')}", "expected": { "type": "integer", "value": 1 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "negative integer string to integer => integer", "expression": "@{toInteger('-1')}", "expected": { "type": "integer", "value": -1 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "decimal string to integer => error", "expression": "@{toInteger('3.1415')}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger('3.1415')]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "out-of-range integer string to integer => error", "expression": "@{toInteger('3141592653589793238462643')}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger('3141592653589793238462643')]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "negative out-of-range integer string to integer => error", "expression": "@{toInteger('-3141592653589793238462643')}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger('-3141592653589793238462643')]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "expression string to integer => error", "expression": "@{toInteger('1+1')}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger('1+1')]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "text string to integer => error", "expression": "@{toInteger('hello')}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger('hello')]. Unable to convert value to Integer." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "true boolean to integer => 1", "expression": "@{toInteger(true)}", "expected": { "type": "integer", "value": 1 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "false boolean to integer => 0", "expression": "@{toInteger(false)}", "expected": { "type": "integer", "value": 0 }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "integer to integer => error", "expression": "@{toInteger(3)}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger(3)]. Function 'toInteger' has no matching override for given argument types: Integer." }, "variables": [], "platforms": [ "android", "web" ] }, { "name": "empty argument list => error", "expression": "@{toInteger()}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger()]. Non empty argument list is required for function 'toInteger'." }, "variables": [], "platforms": [ "android", "ios", "web" ] }, { "name": "too many arguments => error", "expression": "@{toInteger(1.0, 1.0)}", "expected": { "type": "error", "value": "Failed to evaluate [toInteger(1.0, 1.0)]. Function 'toInteger' has no matching override for given argument types: Number, Number." }, "variables": [], "platforms": [ "android", "web" ] } ] }