Пример #1
0
        public static void Main(string[] args)
        {
            ISequence sequence = new FibonacciSequence();
            var       ui       = new FibonacciSequenceUI();
            var       app      = new FibonacciSequenceApp(ui, sequence);

            try
            {
                app.Run(args[0], args[1]);
            }
            catch (IndexOutOfRangeException exception)
            {
                ui.DisplayResult(FibonacciSequenceUI.Instruction);
                log.Error(exception);
            }
            catch (ArgumentException exception)
            {
                ui.DisplayResult(FibonacciSequenceUI.Mistake);
                ui.DisplayResult(FibonacciSequenceUI.Instruction);
                log.Error(exception);
            }
            catch (FormatException exception)
            {
                ui.DisplayResult(FibonacciSequenceUI.Mistake);
                ui.DisplayResult(FibonacciSequenceUI.Instruction);
                log.Error(exception);
            }
        }
Пример #2
0
 private static void Main(string[] args)
 {
     if (args.Length == 1 && (args[0].Equals("-h") || args[0].Equals("--help")))
     {
         Console.WriteLine("Pass 1 argument of type uint");
         Console.WriteLine("Example: FibonacciSequence 2");
     }
     else if (args.Length == 0)
     {
         Console.WriteLine("You need to pass an argument!");
         Console.WriteLine("Correct usage: FibonacciSequence <uint>");
     }
     else if (int.TryParse(args[0], out var passedSize))
     {
         if (passedSize < 0)
         {
             Console.WriteLine("ERROR: Fibonacci sequence size cannot be a negative number!");
         }
         else if (passedSize > 47)
         {
             Console.WriteLine("ERROR: 47th number in Fibonacci Sequence is the last number that can fit into integer type!");
         }
         else
         {
             IEnumerable <int> fibonacciSequence = new FibonacciSequence(passedSize);
             fibonacciSequence.ToList().ForEach(e => Console.Write($"{e} "));
         }
     }
     else
     {
         Console.WriteLine("ERROR: Passed argument must be a positive integer!");
     }
 }
Пример #3
0
        public void CheckRange_ShouldFail(string start, string end, string argumentName)
        {
            ISequence sequence = new FibonacciSequence.FibonacciSequence();
            var       ui       = new FibonacciSequenceUI();
            var       app      = new FibonacciSequenceApp(ui, sequence);

            Assert.Throws <ArgumentException>(argumentName, () => app.Run(start, end));
        }
Пример #4
0
        public void GetRange_ShouldFail(string endRange)
        {
            ISequence sequence = new FibonacciSequence.FibonacciSequence();
            var       ui       = new FibonacciSequenceUI();
            var       app      = new FibonacciSequenceApp(ui, sequence);

            Assert.Throws <FormatException>(() => app.Run("1", endRange));
        }
        public void Test_CalculateFibonacciSequence()
        {
            FibonacciSequence.FibonacciSequence fibonacciSequence = new FibonacciSequence.FibonacciSequence();
            var sequence = new int [] { 2, 4, 6, 8 };
            var limit    = 12;
            var expected = new int[] { 2, 4, 6, 8, 20, 38, 72, 138, 268, 516, 994, 1916 };
            var actual   = fibonacciSequence.CalculateFibonacciSequence(sequence, limit);

            CollectionAssert.AreEqual(expected, actual);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Enter the number of places in the sequence");
            int placesInSequence = int.Parse(Console.ReadLine());
            var fs = new FibonacciSequence();

            Console.WriteLine("The Fibonacci Sequence up to {0} places", placesInSequence);
            for (int i = 0; i < placesInSequence; i++)
            {
                Console.WriteLine(fs.FibonacciNumbers(i));
            }

            Console.WriteLine(" ");

            for (int i = 0; i < placesInSequence; i++)
            {
                Console.WriteLine(fs.FibonacciRecursive(i));
            }

            Console.ReadKey();
        }