Esempio n. 1
0
        /// <summary>
        /// Test entrypoint for the program. Processes CLI arguments and runs the
        /// application.
        /// </summary>
        /// <param name="assembly">The Assembly to use for loading platforms.</param>
        /// <param name="readLine">The function to use to read user input.</param>
        /// <param name="args">The CLI arguments provided to the program.</param>
        /// <returns>The application status code.</returns>
        public static int Main(
            Assembly assembly, StdInput.ReadLine readLine, params string[] args)
        {
            var program = new Program(assembly, readLine);

            Parser.Default.ParseArguments <
                DestroyOptions,
                ProvisionOptions,
                ValidateOptions
                >(args)
            .WithParsed <ProvisionOptions>(program.Provision)
            .WithParsed <DestroyOptions>(program.Destroy)
            .WithParsed <ValidateOptions>(program.Validate)
            .WithNotParsed(program.HandleParseError);
            return((int)program.ExitCode);
        }
Esempio n. 2
0
 private Program(Assembly assembly, StdInput.ReadLine readLine)
 {
     Assembly = assembly;
     ReadLine = readLine;
 }