packages feed

jsonlogic-hs-0.1.0.0: test/community/truthiness.json

[
    "# This can also be seen as a test suite for !!",
    "# Primitive Truthiness tests",
    {
        "description": "Truthy: true",
        "rule": { "!!": true },
        "result": true,
        "data": null
    },
    {
        "description": "Falsey: false",
        "rule": { "!!": false },
        "result": false,
        "data": null
    },
    {
        "description": "Truthy: 1",
        "rule": { "!!": 1 },
        "result": true,
        "data": null
    },
    {
        "description": "Falsey: 0",
        "rule": { "!!": 0 },
        "result": false,
        "data": null
    },
    {
        "description": "Truthy: -1",
        "rule": { "!!": -1 },
        "result": true,
        "data": null
    },
    {
        "description": "Falsey: []",
        "rule": { "!!": [[]] },
        "result": false,
        "data": null
    },
    {
        "description": "Truthy: {}",
        "rule": { "!!": [{}] },
        "result": true,
        "data": null
    },
    {
        "description": "Falsey: ''",
        "rule": { "!!": "" },
        "result": false,
        "data": null
    },
    {
        "description": "Falsey: null",
        "rule": { "!!": null },
        "result": false,
        "data": null
    },
    "# Context Object Tests",
    {
        "description": "Truthy: Zero Key Object",
        "rule": { "!!": { "val": "obj" } },
        "result": true,
        "data": { "obj": {} }
    },
    {
        "description": "Truthy: Single Key Object",
        "rule": { "!!": { "val": "obj" } },
        "result": true,
        "data": { "obj": { "a": 0 } }
    },
    {
        "description": "Truthy: Multi Key Object",
        "rule": { "!!": { "val": "obj" } },
        "result": true,
        "data": { "obj": { "a": 0, "b": 0 } }
    },
    {
        "description": "Truthy: Single Key Object (Empty Key)",
        "rule": { "!!": { "val": "obj" } },
        "result": true,
        "data": { "obj": { "": 0 } }
    }
]