コード例 #1
0
        public void Accelerate_ShouldDownshiftOnce_WhenKickdown()
        {
            var threshold = new Threshold(0.6d);

            Sut().Accelerate(threshold);

            _gearShifter.Received(1).Downshift();
        }
コード例 #2
0
        public void Accelerate_ShouldDownshift_WhenCurrentRpmIsLesserThanDownshiftBoundary()
        {
            var currentRpm = new Rpm(1000d);

            _externalSystems.GetCurrentRpm().Returns(currentRpm);

            var shiftBoundaries = GetShiftBoundaries(1500d, 3000d);

            Sut().Accelerate(shiftBoundaries);

            _gearShifter.Received(1).Downshift();
            _gearShifter.DidNotReceive().Upshift();
        }
コード例 #3
0
        public void Accelerate_ShouldDownshift_WhenCurrentRpmIsLesserThanDownshiftBoundary()
        {
            var currentRpm = new Rpm(800d);

            _externalSystems.GetCurrentRpm().Returns(currentRpm);

            var threshold = new Threshold(0.8d);

            Sut().Accelerate(threshold);

            _gearShifter.Received(1).Downshift();
            _gearShifter.DidNotReceive().Upshift();
        }
コード例 #4
0
        public void Accelerate_ShouldDownshiftAndCallAccelerateOnBaseMode_WhenDrivingDown()
        {
            _externalSystems.IsDrivingDown().Returns(true);

            var threshold = new Threshold(0.8d);

            Sut().Accelerate(threshold);

            _gearShifter.Received().Downshift();
            _baseMode.Received().Accelerate(threshold);
        }
コード例 #5
0
 public void ManualUpshift_ShouldUpshiftGear()
 {
     Sut().ManualUpshift();
     _gearShifter.Received().Upshift();
 }