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); } }
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!"); } }
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)); }
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(); }