public void CountPossibleWaysTest(int nStairs, long expectedWays)
        {
            // Act
            var  time1             = DateTime.Now;
            long resultRecursion   = Question_8_1.CountPossibleWaysRecursion(nStairs);
            var  time2             = DateTime.Now;
            long resultMemoization = Question_8_1.CountPossibleWaysMemoization(nStairs);
            var  time3             = DateTime.Now;

            Console.WriteLine($"Recursion method took {time2.Subtract(time1).TotalMilliseconds} ms.");
            Console.WriteLine($"Memoization method took {time3.Subtract(time2).TotalMilliseconds} ms.");

            // Assert
            Assert.AreEqual(expectedWays, resultRecursion, "CountPossibleWays test failed - Recursion.");
            Assert.AreEqual(expectedWays, resultMemoization, "CountPossibleWays test failed - Memoization.");
        }
Example #2
0
        private static void Validate(int expected, int numberOfSteps)
        {
            var result = Question_8_1.NumberOfWays(numberOfSteps);

            Assert.AreEqual(expected, result);
        }
Example #3
0
 public void Question_8_1_InvalidCases()
 {
     TestHelpers.AssertExceptionThrown(() => Question_8_1.NumberOfWays(-1), typeof(ArgumentOutOfRangeException));
 }