示例#1
0
        /// <summary>
        /// Executes the selected tests.
        /// </summary>
        /// <param name="input">
        /// The input file.
        /// </param>
        /// <param name="binaryOutput">
        /// The binary output file.
        /// </param>
        /// <param name="jsonOutput">
        /// The json output file.
        /// </param>
        /// <param name="option">
        /// The bit flags indicating which tests to perform.
        /// </param>
        private static void Test(string input, string binaryOutput, string jsonOutput, TestOptions option)
        {
            Console.WriteLine($"Reading {nameof(input)} with {nameof(HeaderArrayFile.Read)} at {DateTime.Now}.");

            HeaderArrayFile arrays = HeaderArrayFile.Read(input);

            if (option.HasFlag(TestOptions.WriteBinary))
            {
                Console.WriteLine($"Writing {nameof(arrays)} to {nameof(binaryOutput)} with {nameof(HeaderArrayFile.BinaryWriter)} at {DateTime.Now}.");
                HeaderArrayFile.BinaryWriter.Write(binaryOutput, arrays);
            }

            if (option.HasFlag(TestOptions.WriteJson))
            {
                Console.WriteLine($"Writing {nameof(arrays)} to {nameof(jsonOutput)} with {nameof(HeaderArrayFile.JsonWriter)} at {DateTime.Now}.");
                HeaderArrayFile.JsonWriter.Write(jsonOutput, arrays);
            }

            if (option.HasFlag(TestOptions.ReadJson))
            {
                Console.WriteLine($"Reading {nameof(jsonOutput)} with {nameof(HeaderArrayFile.JsonReader)} at {DateTime.Now}.");
                HeaderArrayFile.JsonReader.Read(jsonOutput);
            }

            if (option.HasFlag(TestOptions.ValidateSets))
            {
                Console.WriteLine($"Running {nameof(HeaderArray.ValidateSets)} on {nameof(arrays)} at {DateTime.Now}.");
                arrays.ValidateSets(Console.Out);
            }

            Console.WriteLine($"Completed test at {DateTime.Now}");
        }
示例#2
0
        /// <summary>
        /// When a test server is built the options for the graphql configuration are first
        /// loaded with the initial delcaration shortcuts setup when this server builder was created using
        /// this method.
        /// </summary>
        /// <param name="options">The options.</param>
        private void PerformInitialConfiguration(SchemaOptions options)
        {
            options.AutoRegisterLocalGraphEntities = false;

            if (_initialSetup.HasFlag(TestOptions.CodeDeclaredNames))
            {
                options.DeclarationOptions.GraphNamingFormatter = new GraphNameFormatter(GraphNameFormatStrategy.NoChanges);
            }

            if (_initialSetup.HasFlag(TestOptions.IncludeExceptions))
            {
                options.ResponseOptions.ExposeExceptions = true;
            }

            if (_initialSetup.HasFlag(TestOptions.IncludeMetrics))
            {
                options.ExecutionOptions.EnableMetrics = true;
                options.ResponseOptions.ExposeMetrics  = true;
            }
        }