Fix: a5 testcode close #11

This commit is contained in:
2022-05-02 01:09:47 +08:00
parent 053113577f
commit 855bc8cc3c
5 changed files with 58 additions and 46 deletions

View File

@@ -1,3 +1,4 @@
//Q4
public class StartGrading {
public static void testVehicle() {
//The Vehicle class is abstract. We cannot create objects from this class. Therefore, we cannot test anything
@@ -6,30 +7,29 @@ public class StartGrading {
public static void testCar() {
// test case for constructors
try {
// exception
// exception
Car c1 = new Car(70, 80);
} catch (BadSpeedSetting e) {
System.out.println(e.getMessage().equals("Speed cannot be greater than speed limit!"));
}
try {
// exception
// exception
Car c2 = new Car(70, -10);
} catch (BadSpeedSetting e) {
System.out.println(e.getMessage().equals("Speed cannot be negative!"));
}
// test case for accelerate, canFly and getSpeed methods
// test case for accelerate, canFly and getSpeed methods
try {
Car c3 = new Car(100, 80);
// test the canFly method
// test the canFly method
System.out.println(c3.canFly() == false);
c3.accelerate(10);
System.out.println(c3.getSpeed() == 90);
// test the accelerate with positive amount
// test the accelerate with positive amount
c3.accelerate(-20);
System.out.println(c3.getSpeed() == 70);
// test the accelerate with negative amount
c3.accelerate(35);
// exception
// test the accelerate with negative amount
c3.accelerate(35); // exception
} catch (BadSpeedSetting e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
} catch (ExceedSpeedLimit e) {
@@ -37,10 +37,12 @@ public class StartGrading {
.println(e.getMessage().equals("Current speed is 70. Accelerate 35 will exceed the speed limit!"));
} catch (NotEnoughSpeed e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
} catch (TrainSpeedChange e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
}
try {
Car c4 = new Car(100, 80);
// exception
// exception
c4.accelerate(-90);
} catch (BadSpeedSetting e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
@@ -48,6 +50,8 @@ public class StartGrading {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
} catch (NotEnoughSpeed e) {
System.out.println(e.getMessage().equals("Current speed is " + 80 + ", not enough speed to decelerate!"));
} catch (TrainSpeedChange e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
}
}
@@ -101,6 +105,8 @@ public class StartGrading {
e.getMessage().equals("Current speed is 100. Accelerate 650 will exceed the speed limit!"));
} catch (NotEnoughSpeed e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
} catch (TrainSpeedChange e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
}
try {
Aircraft a5 = new Aircraft(700, 200, 100);
@@ -114,6 +120,8 @@ public class StartGrading {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
} catch (NotEnoughSpeed e) {
System.out.println(e.getMessage().equals("Current speed is " + 200 + ", not enough speed to decelerate!"));
} catch (TrainSpeedChange e) {
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
}
}
@@ -123,7 +131,7 @@ public class StartGrading {
// exception
Train t1 = new Train(350, 400);
} catch (BadSpeedSetting e) {
System.out.println(e.getMessage().equals("Speed cannot be greater than speed limit!"));
System.out.println(e.getMessage().equals("Speed cannot be greater than speed limit!"));
}
try {
// exception
@@ -150,7 +158,7 @@ public class StartGrading {
public static void main(String[] args) {
Vehicle.testVehicle();
Car.testCar();
AirCraft.testAirCraft();
Aircraft.testAircraft();
Train.testTrain();
}
}