public BenchmarkInfo(string query, string inputs, Func <ISchema> schemaBuilder)
 {
     // this exercises all the code in case of any errors, in addition to prep for each stage of testing
     SchemaBuilder   = schemaBuilder;
     Schema          = BuildSchema();
     Query           = query;
     Document        = Parse();
     Operation       = Document.Definitions.OfType <GraphQLOperationDefinition>().FirstOrDefault();
     InputsString    = inputs;
     Inputs          = DeserializeInputs();
     Variables       = ParseVariables();
     ExecutionResult = Execute();
     _ = Serialize();
 }
        public ExecutionResult Execute()
        {
            var context = new Execution.ExecutionContext
            {
                Document    = Document,
                Schema      = Schema,
                RootValue   = null,
                UserContext = new Dictionary <string, object>(),

                Operation         = Operation,
                Variables         = Variables,
                Errors            = new ExecutionErrors(),
                InputExtensions   = Inputs.Empty,
                OutputExtensions  = new Dictionary <string, object>(),
                CancellationToken = default,