public void GetNumberOfWaystoClimbStairs_Test()
        {
            //Given
            DynamicProgramming2 d = new DynamicProgramming2();

            //When
            //Then
            Assert.Equal(2, d.GetNumberOfWaystoClimbStairs(2));
            Assert.Equal(5, d.GetNumberOfWaystoClimbStairs(4));
            Assert.Equal(34, d.GetNumberOfWaystoClimbStairs(8));
        }
        public void GetNumberOfWaystoClimbStairsWithk_Test()
        {
            //Given
            var k = 2;
            DynamicProgramming2 d = new DynamicProgramming2();

            //When
            //Then
            Assert.Equal(2, d.GetNumberOfWaystoClimbStairs(2, k));
            Assert.Equal(5, d.GetNumberOfWaystoClimbStairs(4, k));
            Assert.Equal(34, d.GetNumberOfWaystoClimbStairs(8, k));
        }
        public void GetNumberOfWaystoClimbStairsWithkAndblocklist_Test()
        {
            //Given
            var k = 3;
            DynamicProgramming2 d = new DynamicProgramming2();

            //When
            //Then
            Assert.Equal(2, d.GetNumberOfWaystoClimbStairs(7, k, new int [] { 1, 3, 4 }));
        }