{
  "source": {
    "file": "Molten/test/resource/system/query/query.template.rs",
    "cases": "Molten/test/resource/system/query/cases.json"
  },
  "functions": [
    {
      "function": "particle.disjoint",
      "tags": [
        "disjoint",
        "overlapping"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                "B",
                1
              ]
            ],
            "source": [
              [
                "A",
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                "B",
                1
              ]
            ],
            "source": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.empty",
      "tags": [
        "empty",
        "nonempty"
      ],
      "cases": [
        {
          "parameters": {
            "source": []
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.isomorphic",
      "tags": [
        "equal",
        "unequal"
      ],
      "cases": [
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ],
            "basis": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ]
            ],
            "basis": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.joint",
      "tags": [
        "overlap",
        "disjoint"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                "B",
                1
              ],
              [
                "C",
                1
              ]
            ],
            "source": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                "B",
                1
              ]
            ],
            "source": [
              [
                "A",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.rank",
      "tags": [
        "empty",
        "single",
        "multiple"
      ],
      "cases": [
        {
          "parameters": {
            "source": []
          },
          "returns": {
            "()": 0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ]
            ]
          },
          "returns": {
            "()": 1
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ],
              [
                "C",
                1
              ]
            ]
          },
          "returns": {
            "()": 3
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.subset",
      "tags": [
        "empty",
        "contained",
        "not_contained"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                "A",
                1
              ]
            ],
            "source": []
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ]
            ],
            "basis": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ],
            "source": [
              [
                "A",
                1
              ],
              [
                "C",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "particle.superset",
      "tags": [
        "superset",
        "not_superset"
      ],
      "cases": [
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ],
            "basis": [
              [
                "A",
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                "A",
                1
              ]
            ],
            "basis": [
              [
                "A",
                1
              ],
              [
                "B",
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "wave.diverges",
      "tags": [
        "empty_basis",
        "exact_match"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [],
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              [
                [
                  [
                    [
                      "A",
                      1
                    ]
                  ],
                  1
                ]
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ],
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": [
              []
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "wave.rank",
      "tags": [
        "empty",
        "single",
        "multiple"
      ],
      "cases": [
        {
          "parameters": {
            "source": []
          },
          "returns": {
            "()": 0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": 1
          },
          "unexpected": null
        },
        {
          "parameters": {
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                2
              ],
              [
                [
                  [
                    "B",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": 3
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "wave.subset",
      "tags": [
        "empty_source",
        "contained",
        "not_contained"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ],
            "source": []
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "A",
                    1
                  ],
                  [
                    "B",
                    1
                  ]
                ],
                1
              ]
            ],
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ],
            "source": [
              [
                [
                  [
                    "C",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "wave.superset",
      "tags": [
        "empty_basis",
        "superset"
      ],
      "cases": [
        {
          "parameters": {
            "basis": [],
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "basis": [
              [
                [
                  [
                    "A",
                    1
                  ]
                ],
                1
              ]
            ],
            "source": [
              [
                [
                  [
                    "A",
                    1
                  ],
                  [
                    "B",
                    1
                  ]
                ],
                1
              ]
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    }
  ]
}