Files
divkit/test_data/expression_test_data/functions_to_integer.json
T
pkurchatov 9029c6b2a8 Updated expression errors
2bf201f922de089031d30fac9c04847fa6012ea8
2024-05-16 12:12:18 +03:00

257 lines
5.9 KiB
JSON

{
"cases": [
{
"name": "positive number to integer => integer (1)",
"expression": "@{toInteger(2.7182)}",
"expected": {
"type": "integer",
"value": 2
},
"variables": [],
"platforms": [
"android",
"ios",
"web"
]
},
{
"name": "positive number to integer => integer (2)",
"expression": "@{toInteger(3.1415)}",
"expected": {
"type": "integer",
"value": 3
},
"variables": [],
"platforms": [
"android",
"ios",
"web"
]
},
{
"name": "negative number to integer => integer (1)",
"expression": "@{toInteger(-2.7182)}",
"expected": {
"type": "integer",
"value": -2
},
"variables": [],
"platforms": [
"android",
"ios",
"web"
]
},
{
"name": "negative number to integer => integer (2)",
"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": "empty argument list => error",
"expression": "@{toInteger()}",
"expected": {
"type": "error",
"value": "Failed to evaluate [toInteger()]. Function requires non empty argument list."
},
"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 has no matching overload for given argument types: Number, Number."
},
"variables": [],
"platforms": [
"android",
"ios",
"web"
]
}
]
}