[
"# Collection of Minus Operator Tests",
{
"description": "Subtraction",
"rule": { "-": [1, 2] },
"result": -1,
"data": null
},
{
"description": "Subtraction (2)",
"rule": { "-": [5, 12] },
"result": -7,
"data": null
},
{
"description": "Subtraction with Multiple Operands",
"rule": { "-": [1, 2, 3, 4] },
"result": -8,
"data": null
},
{
"description": "Subtraction with Negative Numbers",
"rule": { "-": [-1, 0, 5] },
"result": -6,
"data": null
},
{
"description": "Subtraction with Strings",
"rule": { "-": ["1", "2", "3"] },
"result": -4,
"data": null
},
{
"description": "Subtraction with Booleans",
"rule": { "-": [true, false, true] },
"result": 0,
"data": null
},
{
"description": "Subtraction with Multiple Value Types",
"rule": { "-": [1, "2", 3, "4", "", true, false, null] },
"result": -9,
"data": null
},
{
"description": "Minus Operator with Single Operand (Number)",
"rule": { "-": [1] },
"result": -1,
"data": null
},
{
"description": "Minus Operator with Single Operand (Negative Number)",
"rule": { "-": [-1] },
"result": 1,
"data": null
},
{
"description": "Minus with zero operands is an error",
"rule": { "-": [] },
"error": { "type": "Invalid Arguments" },
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (Number)",
"rule": { "-": 1 },
"result": -1,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (0)",
"rule": { "-": 0 },
"result": 0,
"data": null
},
{
"description": "Minus Operator with Single Operand (String)",
"rule": { "-": ["1"] },
"result": -1,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (Negative Number String)",
"rule": { "-": "-1" },
"result": 1,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (String 0)",
"rule": { "-": "0" },
"result": 0,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (true)",
"rule": { "-": true },
"result": -1,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (false)",
"rule": { "-": false },
"result": 0,
"data": null
},
{
"description": "Minus Operator with Single Operand, Direct (Empty String)",
"rule": { "-": "" },
"result": 0,
"data": null
},
{
"description": "Minus Operator with a Single Operand, Direct (null)",
"rule": { "-": null },
"result": 0,
"data": null
},
{
"description": "Subtraction with val",
"rule": { "-": [{ "val": "x" }, { "val": "y" }] },
"data": { "x": 1, "y": 2 },
"result": -1
},
{
"description": "Subtraction with string produces NaN",
"rule": { "-": ["Hey", 1] },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Subtraction with Array produces NaN",
"rule": { "-": [[1], 1] },
"error": { "type": "NaN" },
"data": null
}
]