public GraphQLAstVisitorTests()
        {
            this.parser  = new Parser(new Lexer());
            this.visitor = Substitute.ForPartsOf <GraphQLAstVisitor>();

            this.visitedDefinitions            = MockVisitMethod <ASTNode>((visitor) => visitor.BeginVisitOperationDefinition(null));
            this.visitedSelectionSets          = MockVisitMethod <GraphQLSelectionSet>((visitor) => visitor.BeginVisitSelectionSet(null));
            this.visitedFieldSelections        = MockVisitMethod <GraphQLFieldSelection>((visitor) => visitor.BeginVisitFieldSelection(null));
            this.visitedNames                  = MockVisitMethod <GraphQLName>((visitor) => visitor.BeginVisitName(null));
            this.visitedArguments              = MockVisitMethod <GraphQLArgument>((visitor) => visitor.BeginVisitArgument(null));
            this.visitedAliases                = MockVisitMethod <GraphQLName>((visitor) => visitor.BeginVisitAlias(null));
            this.visitedFragmentSpreads        = MockVisitMethod <GraphQLFragmentSpread>((visitor) => visitor.BeginVisitFragmentSpread(null));
            this.visitedFragmentDefinitions    = MockVisitMethod <GraphQLFragmentDefinition>((visitor) => visitor.BeginVisitFragmentDefinition(null));
            this.visitedFragmentTypeConditions = MockVisitMethod <GraphQLNamedType>((visitor) => visitor.BeginVisitNamedType(null));
            this.visitedInlineFragments        = MockVisitMethod <GraphQLInlineFragment>((visitor) => visitor.BeginVisitInlineFragment(null));
            this.visitedDirectives             = MockVisitMethod <GraphQLDirective>((visitor) => visitor.BeginVisitDirective(null));
            this.visitedVariables              = MockVisitMethod <GraphQLVariable>((visitor) => visitor.BeginVisitVariable(null));
            this.visitedIntValues              = MockVisitMethod <GraphQLScalarValue>((visitor) => visitor.BeginVisitIntValue(null));
            this.visitedFloatValues            = MockVisitMethod <GraphQLScalarValue>((visitor) => visitor.BeginVisitFloatValue(null));
            this.visitedStringValues           = MockVisitMethod <GraphQLScalarValue>((visitor) => visitor.BeginVisitStringValue(null));
            this.visitedBooleanValues          = MockVisitMethod <GraphQLScalarValue>((visitor) => visitor.BeginVisitBooleanValue(null));
            this.visitedEnumValues             = MockVisitMethod <GraphQLScalarValue>((visitor) => visitor.BeginVisitEnumValue(null));
        }