示例#1
0
        public void elevaror_should_be_at_level_3_when_it_starts_at_1_and_go_up_is_called_twice()
        {
            var elevator = new Elevator("", lowestFloor: -2, highestFloor: 3, startFloor: 1, untilMaintainance: 6);

            elevator.TryGoUp();
            elevator.TryGoUp();
            Assert.AreEqual(3, elevator.CurrentFloor);
        }
示例#2
0
        public void elever_should_still_have_power_after_going_up_and_down_five_times_if_maintainlevel_is_six()
        {
            var elevator = new Elevator("", lowestFloor: -2, highestFloor: 3, startFloor: 1, untilMaintainance: 6);

            elevator.TryGoDown();
            elevator.TryGoUp();

            elevator.TryGoDown();
            elevator.TryGoUp();

            elevator.TryGoDown();

            Assert.IsTrue(elevator.PowerIsOn);
        }
示例#3
0
        public void elevator_should_be_at_level_2_when_it_starts_at_1_and_go_up_one_floor()
        {
            var elevator = new Elevator("", lowestFloor: -2, highestFloor: 3, startFloor: 1, untilMaintainance: 6);
            var response = elevator.TryGoUp();

            Assert.AreEqual(2, elevator.CurrentFloor);
            Assert.AreEqual(ElevatorMoveResponse.MoveSuccess, response);
        }
示例#4
0
        public void elevator_should_report_that_it_cant_move_when_go_up_signal_on_top_floor()
        {
            var elevator = new Elevator("", lowestFloor: 0, highestFloor: 5, startFloor: 5, untilMaintainance: 1000);
            var response = elevator.TryGoUp();

            Assert.AreEqual(ElevatorMoveResponse.CantMoveUp, response);
            Assert.AreEqual(1000, elevator.UntilMaintainance);
        }
示例#5
0
        public void elevator_should_be_at_level_10_when_it_starts_at_0_and_go_up_10_floors()
        {
            // ARRANGE
            var x = new Elevator("e1", 0, -2, 10, 3);

            // ACT
            x.TryGoUp(10);
            // ASSERT
            Assert.AreEqual(10, x.CurrentFloor);
        }
示例#6
0
        public void elevator_should_be_at_top_floor_when_go_up_is_called_really_many_times()
        {
            var elevator = new Elevator("", lowestFloor: -2, highestFloor: 3, startFloor: 1, untilMaintainance: 6);

            for (int i = 0; i < 1000; i++)
            {
                elevator.TryGoUp();
            }

            Assert.AreEqual(3, elevator.CurrentFloor);
        }
示例#7
0
        public void elevator_should_not_go_up_when_it_starts_at_10_and_go_up_one_floor()
        {
            // ARRANGE
            var x = new Elevator("e1", 10, -2, 10, 3);

            // ACT
            ElevatorMoveResponse result   = x.TryGoUp();
            ElevatorMoveResponse expected = ElevatorMoveResponse.CantGoUp;

            // ASSERT
            Assert.AreEqual(expected, result);
            Assert.AreEqual(10, x.CurrentFloor);
        }