コード例 #1
0
ファイル: Exemplar.cs プロジェクト: msdeibel/csharp
    public bool TryFinishTrack(RemoteControlCar car)
    {
        while (!car.BatteryDrained() && car.DistanceDriven() < distance)
        {
            car.Drive();
        }

        return(car.DistanceDriven() >= distance);
    }
コード例 #2
0
    public void NewRemoteControlCarHasNotDrivenAnyDistance()
    {
        int speed        = 10;
        int batteryDrain = 2;
        var car          = new RemoteControlCar(speed, batteryDrain);

        Assert.Equal(0, car.DistanceDriven());
    }
コード例 #3
0
    public void New_remote_control_car_has_not_driven_any_distance()
    {
        int speed        = 10;
        int batteryDrain = 2;
        var car          = new RemoteControlCar(speed, batteryDrain);

        Assert.Equal(0, car.DistanceDriven());
    }
コード例 #4
0
    public bool CarCanFinish(RemoteControlCar car)
    {
        while (!car.BatteryDrained())
        {
            car.Drive();
        }

        return(car.DistanceDriven() >= distance);
    }
コード例 #5
0
    public void DriveIncreasesDistanceDrivenWithSpeed()
    {
        int speed        = 5;
        int batteryDrain = 1;
        var car          = new RemoteControlCar(speed, batteryDrain);

        car.Drive();

        Assert.Equal(5, car.DistanceDriven());
    }
コード例 #6
0
    public void Super_hungry_car_can_try_driving_but_is_drained()
    {
        int speed        = 100;
        int batteryDrain = 60;
        var car          = new RemoteControlCar(speed, batteryDrain);

        car.Drive();
        car.Drive();
        Assert.True(car.BatteryDrained());
        Assert.Equal(100, car.DistanceDriven());
    }
コード例 #7
0
 public bool CarCanFinish(RemoteControlCar car)
 {
     while (car.DistanceDriven() < Distance)
     {
         if (car.BatteryDrained())
         {
             return(false);
         }
         car.Drive();
     }
     return(true);
 }
コード例 #8
0
    public void DriveDoesNotIncreaseDistanceDrivenWhenBatteryDrained()
    {
        int speed        = 9;
        int batteryDrain = 50;
        var car          = new RemoteControlCar(speed, batteryDrain);

        // Drain the battery
        car.Drive();
        car.Drive();

        // One extra drive attempt (should not succeed)
        car.Drive();

        Assert.Equal(18, car.DistanceDriven());
    }
コード例 #9
0
 private bool DidCarFinishTrack(RemoteControlCar car) => car.DistanceDriven() >= _distance;
コード例 #10
0
 private bool CanContinueDriving(RemoteControlCar car) => car.DistanceDriven() < _distance && !car.BatteryDrained();