Beispiel #1
0
        private static void Main(string[] args)
        {
            var options = new CliOptions();

            // parser fail case
            if (!Parser.Default.ParseArguments(args, options))
            {
                Console.Write(options.GetUsage());
                Environment.Exit(1);
            }

            // no input case
            if (args.Length == 0 || (options.InputFile == null && options.InputNumber == null && options.InteractiveMode == false))
            {
                Console.Write(options.GetUsage());
                Environment.Exit(1);
            }

            int numVal = 0;
            try
            {
                numVal = GetInputValue(options);
            }
            catch (InvalidFibonacciInputException e)
            {
                Console.WriteLine(e.Message);
                Environment.Exit(1);
            }

            // negative number case
            if (numVal < 0)
            {
                Console.WriteLine("Number must be positive.");
                Environment.Exit(1);
            }

            FibonacciCalculator.Calculator calc = new FibonacciCalculator.Calculator();
            FibonacciResultSet results = calc.Compute(numVal);

            HandleOutput(options, results);
        }