[
"# Collection of Divide Operator Tests",
{
"description": "Divide",
"rule": { "/": [4, 2] },
"result": 2,
"data": null
},
{
"description": "Divide to Decimal",
"rule": { "/": [2, 4] },
"result": 0.5,
"data": null,
"decimal": true
},
{
"description": "Divide with Multiple Operands",
"rule": { "/": [8, 2, 2] },
"result": 2,
"data": null
},
{
"description": "Divide with Multiple Operands (2)",
"rule": { "/": [2, 2, 1] },
"result": 1,
"data": null
},
{
"description": "Divide with Negative Numbers",
"rule": { "/": [-1, 2] },
"result": -0.5,
"data": null,
"decimal": true
},
{
"description": "Divide with Strings",
"rule": { "/": ["8", "2", "2"] },
"result": 2,
"data": null
},
{
"description": "Divide with Booleans",
"rule": { "/": [false, true] },
"result": 0,
"data": null
},
{
"description": "Divide with Multiple Value Types",
"rule": { "/": ["8", true, 2] },
"result": 4,
"data": null
},
{
"description": "Divide with Multiple Value Types (2)",
"rule": { "/": ["1", 1] },
"result": 1,
"data": null
},
{
"description": "Divide with Single Operand (Number)",
"rule": { "/": [1] },
"result": 1,
"data": null
},
{
"description": "Divide with zero operands is an error",
"rule": { "/": [] },
"error": { "type": "Invalid Arguments" },
"data": null
},
{
"description": "Divide with Single Operand, Direct (Number)",
"rule": { "/": 1 },
"result": 1,
"data": null
},
{
"description": "Divide with Single Operand, Direct (0)",
"rule": { "/": 0 },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide Operator with Single Operand (Number)",
"rule": { "/": [1] },
"result": 1,
"data": null
},
{
"description": "Divide Operator with Single Operand (Negative Number)",
"rule": { "/": [-1] },
"result": -1,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (Number)",
"rule": { "/": 1 },
"result": 1,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (2)",
"rule": { "/": 2 },
"result": 0.5,
"decimal": true,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (0)",
"rule": { "/": 0 },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide Operator with Single Operand (String)",
"rule": { "/": ["1"] },
"result": 1,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (Negative Number String)",
"rule": { "/": "-1" },
"result": -1,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (String 0)",
"rule": { "/": "0" },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (true)",
"rule": { "/": true },
"result": 1,
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (false)",
"rule": { "/": false },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide Operator with Single Operand, Direct (Empty String)",
"rule": { "/": "" },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide Operator with a Single Operand, Direct (null)",
"rule": { "/": null },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide with val",
"rule": { "/": [{ "val": "x" }, { "val": "y" }] },
"data": { "x": 8, "y": 2 },
"result": 4
},
{
"description": "Divide by Zero",
"rule": { "/": [0, 0] },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide with String produces NaN",
"rule": { "/": [1, "a"] },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Divide with Array produces NaN",
"rule": { "/": [1, [1]] },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Any division by zero should return NaN",
"rule": { "/": [1, 0] },
"error": { "type": "NaN" },
"data": null
},
{
"description": "Any division by zero should return NaN (2)",
"rule": { "/": [8, 2, 0] },
"error": { "type": "NaN" },
"data": null
}
]