예제 #1
0
 /// <summary>
 /// Check if the player has exited the interaction zone
 /// for leaving.
 /// </summary>
 private void CheckExit(Collider other, ClimbingStairs stairsEvent)
 {
     if ((stairsEventTop.climbing || stairsEventBottom.climbing) && other.gameObject.tag == "Player")
     {
         stairsEvent.readyToLeave = false;
         Player.instance.playerUI.iconWrapper.Hide();
     }
 }
예제 #2
0
        public void StaircaseWithSeven_ReturnTwentyOne()
        {
            numberOfStairs = 7;
            int expected = 21;
            int actual   = ClimbingStairs.HowManyDistinctWaysToClimbStairs(numberOfStairs);

            Assert.AreEqual(expected, actual);
        }
예제 #3
0
        public void Case_0()
        {
            var climber = new ClimbingStairs();

            Assert.Equal(3, climber.ClimbStairs(3));
            Assert.Equal(5, climber.ClimbStairs(4));
            Assert.Equal(8, climber.ClimbStairs(5));
        }
예제 #4
0
        public void StaircaseWithSix_ReturnThirteen()
        {
            numberOfStairs = 6;
            int expected = 13;
            int actual   = ClimbingStairs.HowManyDistinctWaysToClimbStairs(numberOfStairs);

            Assert.AreEqual(expected, actual);
        }
예제 #5
0
        public void StaircaseWithFive_ReturnEight()
        {
            numberOfStairs = 5;
            int expected = 8;
            int actual   = ClimbingStairs.HowManyDistinctWaysToClimbStairs(numberOfStairs);

            Assert.AreEqual(expected, actual);
        }
예제 #6
0
        public void StaircaseWithFourSteps_ReturnFive()
        {
            numberOfStairs = 4;
            int expected = 5;
            int actual   = ClimbingStairs.HowManyDistinctWaysToClimbStairs(numberOfStairs);

            Assert.AreEqual(expected, actual);
        }
예제 #7
0
        public void StaircaseWithOneStep_ReturnOneDistinctWay()
        {
            numberOfStairs = 1;
            int expected = 1;
            int actual   = ClimbingStairs.HowManyDistinctWaysToClimbStairs(numberOfStairs);

            Assert.AreEqual(expected, actual);
        }
예제 #8
0
        public void TestClimbingStairs()
        {
            var r = ClimbingStairs.Climb(10);

            Assert.AreEqual(r, 89);

            r = ClimbingStairs.Climb(3);
            Assert.AreEqual(r, 3);
        }
예제 #9
0
        public void TestMethod2(int N, int expected)
        {
            // Arrange
            ClimbingStairs question = new ClimbingStairs();

            // Act
            int actual = question.ClimbStairsIterative(N);

            // Assert
            Assert.AreEqual(expected, actual);
        }
예제 #10
0
        public void GetNumberOfWays_ShouldReturn_NumberOfWaysTheStairsCouldBeClimbed(
            int numberOfStairs,
            int expectedNumberOfWays)
        {
            // Arrange
            var climbingStairs = new ClimbingStairs();

            // Act
            var numberOfWays = climbingStairs.GetNumberOfWays(numberOfStairs);

            // Assert
            numberOfWays.Should().Be(expectedNumberOfWays);
        }
예제 #11
0
        public void CombosIterative_37Passed_IntOverflows()
        {
            Exception exception = null;

            try
            {
                ClimbingStairs.CombosIterative(37);
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            Assert.IsNotNull(exception);
        }
예제 #12
0
    /// <summary>
    /// Check wheter is possible to leave and from where.
    /// </summary>
    /// <param name="other">Collider - collider from trigger collision.</param>
    /// <param name="stairsEvent">ClimbingStairs - climbing stairs event.</param>
    /// <param name="leavingFrom">String - from which point the player is leaving the stairs</param>
    private void CheckStay(Collider other, ClimbingStairs stairsEvent, string leavingFrom)
    {
        if ((stairsEventTop.climbing || stairsEventBottom.climbing) && !stairsEvent.movingToPoint && other.gameObject.tag == "Player")
        {
            stairsEvent.readyToLeave = true;
            stairsEvent.leavingFrom  = leavingFrom;

            Player.instance.playerUI.iconWrapper.Display();
        }
        else
        {
            stairsEvent.readyToLeave = false;
            Player.instance.playerUI.iconWrapper.Hide();
        }
    }
예제 #13
0
        public void ClimbingStairsTestMethod()
        {
            var climbingStairs = new ClimbingStairs();
            var input1         = 2;
            var expected1      = 2;
            var actual1        = climbingStairs.ClimbStairs(input1);

            Assert.AreEqual(expected1, actual1);

            var input2    = 3;
            var expected2 = 3;
            var actual2   = climbingStairs.ClimbStairs(input2);

            Assert.AreEqual(expected2, actual2);

            var input3    = 4;
            var expected3 = 5;
            var actual3   = climbingStairs.ClimbStairs(input3);

            Assert.AreEqual(expected3, actual3);
        }
예제 #14
0
 public void ClimbStairsTestCase4()
 {
     ClimbingStairs.ClimbStairs(4).Should().Be(5);
 }
예제 #15
0
 public void Given_1_When_count_Then_return_1()
 {
     Assert.AreEqual(1, ClimbingStairs.ClimbStairs(1));
 }
예제 #16
0
 public void Given_3_When_count_Then_return_3()
 {
     Assert.AreEqual(3, ClimbingStairs.ClimbStairs(3));
 }
예제 #17
0
 public void Given_2_When_count_Then_return_2()
 {
     Assert.AreEqual(2, ClimbingStairs.ClimbStairs(2));
 }
예제 #18
0
 public void ClimbStairsTestCase44()
 {
     ClimbingStairs.ClimbStairs(44).Should().Be(1134903170);
 }
예제 #19
0
 public void ClimbStairsTestCase7()
 {
     ClimbingStairs.ClimbStairs(7).Should().Be(21);
 }
예제 #20
0
 public void ClimbStairsTestCase1()
 {
     ClimbingStairs.ClimbStairs(1).Should().Be(1);
 }
예제 #21
0
 public void ClimbStairsTestCase3()
 {
     ClimbingStairs.ClimbStairs(3).Should().Be(3);
 }
예제 #22
0
 public void ClimbStairsTestCase2()
 {
     ClimbingStairs.ClimbStairs(2).Should().Be(2);
 }
예제 #23
0
 public void CombosIterative_5Passed_Returns13()
 {
     Assert.AreEqual(13, ClimbingStairs.CombosIterative(5));
 }
예제 #24
0
 public void ClimbStairsTestCase5()
 {
     ClimbingStairs.ClimbStairs(5).Should().Be(8);
 }
예제 #25
0
 public void CombosRecursive_NegativeIntPassed_Returns0()
 {
     Assert.AreEqual(0, ClimbingStairs.CombosRecursive(-10));
 }
예제 #26
0
 public void ClimbStairsTestCase6()
 {
     ClimbingStairs.ClimbStairs(6).Should().Be(13);
 }