{
  "source": {
    "file": "Molten/test/resource/system/graph/symbolic/traversal/traversal.template.rs",
    "cases": "Molten/test/resource/system/graph/symbolic/traversal/cases.json"
  },
  "functions": [
    {
      "function": "depth",
      "tags": [
        "single",
        "nested",
        "deep"
      ],
      "cases": [
        {
          "parameters": {
            "ast": {
              "category": {
                "Attribute": "A"
              }
            }
          },
          "returns": {
            "()": [
              0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "ast": {
              "category": "Group",
              "context": [
                {
                  "category": {
                    "Attribute": "A"
                  }
                },
                {
                  "category": {
                    "Attribute": "B"
                  }
                }
              ]
            }
          },
          "returns": {
            "()": [
              0,
              1,
              1
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "ast": {
              "category": "Group",
              "context": [
                {
                  "category": "Group",
                  "context": [
                    {
                      "category": {
                        "Attribute": "X"
                      }
                    }
                  ]
                }
              ]
            }
          },
          "returns": {
            "()": [
              0,
              1,
              2
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "phases",
      "tags": [
        "single",
        "nested",
        "deep"
      ],
      "cases": [
        {
          "parameters": {
            "ast": {
              "category": {
                "Attribute": "A"
              }
            }
          },
          "returns": {
            "()": [
              "Enter:A",
              "Visit:A",
              "Exit:A"
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "ast": {
              "category": "Group",
              "context": [
                {
                  "category": {
                    "Attribute": "A"
                  }
                },
                {
                  "category": {
                    "Attribute": "B"
                  }
                }
              ]
            }
          },
          "returns": {
            "()": [
              "Enter:Group",
              "Visit:Group",
              "Enter:A",
              "Visit:A",
              "Exit:A",
              "Enter:B",
              "Visit:B",
              "Exit:B",
              "Exit:Group"
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "ast": {
              "category": "Group",
              "context": [
                {
                  "category": "Group",
                  "context": [
                    {
                      "category": {
                        "Attribute": "X"
                      }
                    }
                  ]
                }
              ]
            }
          },
          "returns": {
            "()": [
              "Enter:Group",
              "Visit:Group",
              "Enter:Group",
              "Visit:Group",
              "Enter:X",
              "Visit:X",
              "Exit:X",
              "Exit:Group",
              "Exit:Group"
            ]
          },
          "unexpected": null
        }
      ]
    }
  ]
}