{
  "source": {
    "file": "test/resource/component/math/expression/expression.template.rs",
    "cases": "test/resource/component/math/expression/cases.json"
  },
  "functions": [
    {
      "function": "evaluate",
      "tags": [
        "constant",
        "linear",
        "quadratic",
        "multivariate"
      ],
      "cases": [
        {
          "parameters": {
            "terms": {
              "[]": 5.0
            },
            "point": []
          },
          "returns": {
            "()": 5.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "terms": {
              "[1]": 2.0
            },
            "point": [
              3.0
            ]
          },
          "returns": {
            "()": 6.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "terms": {
              "[2]": 1.0,
              "[]": 1.0
            },
            "point": [
              3.0
            ]
          },
          "returns": {
            "()": 10.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "terms": {
              "[1, 1]": 1.0
            },
            "point": [
              2.0,
              3.0
            ]
          },
          "returns": {
            "()": 6.0
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "parse",
      "tags": [
        "valid",
        "invalid"
      ],
      "cases": [
        {
          "parameters": {
            "terms": {
              "[1]": 2.0,
              "[]": 1.0
            }
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "terms": {
              "bad": 1.0
            }
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    }
  ]
}