static void TestFiboReqursion(TestFiboCase testCase) { try { var actual = FiboRecursion(testCase.X); if (actual == testCase.Expected) { Console.WriteLine("VALID TEST"); } else { Console.WriteLine("INVALID TEST"); } } catch (Exception ex) { if (testCase.ExpectedException != null) { //TODO add type exception tests; Console.WriteLine("VALID TEST"); } else { Console.WriteLine("INVALID TEST"); } } }
static void Main(string[] args) { Console.WriteLine("Task 1"); Console.WriteLine("write function with block schema"); Console.Write("Is '3' prime number?: "); Console.WriteLine(IsPrime(3)); Console.Write("Is '101' prime number?: "); Console.WriteLine(IsPrime(101)); Console.Write("Is '27' prime number?: "); Console.WriteLine(IsPrime(27)); Console.WriteLine(); Console.WriteLine("Task 2"); Console.WriteLine("Function complexity is O(N^3)"); Console.WriteLine(); Console.WriteLine("Task 3"); Console.WriteLine("fibonachi with loop and reqursion test cases: "); TestFiboCase testFibo; testFibo = new TestFiboCase() { X = 3, Expected = 2, ExpectedException = null }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); testFibo = new TestFiboCase() { X = 10, Expected = 55, ExpectedException = null }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); testFibo = new TestFiboCase() { X = 20, Expected = 6765, ExpectedException = null }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); testFibo = new TestFiboCase() { X = 0, Expected = 0, ExpectedException = new ArgumentOutOfRangeException() }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); // not valid test testFibo = new TestFiboCase() { X = 1, Expected = 10, ExpectedException = null }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); testFibo = new TestFiboCase() { X = 11, Expected = 88, ExpectedException = null }; TestFiboLoop(testFibo); TestFiboReqursion(testFibo); }