Upload files to 'assignment5/Question3'
This commit is contained in:
126
assignment5/Question3/StartGrading.java
Normal file
126
assignment5/Question3/StartGrading.java
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
//Q3
|
||||||
|
public class StartGrading {
|
||||||
|
public static void testVehicle() {
|
||||||
|
//The Vehicle class is abstract. We cannot create objects from this class. Therefore, we cannot test anything
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void testCar() {
|
||||||
|
// test case for constructors
|
||||||
|
try {
|
||||||
|
// 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
|
||||||
|
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
|
||||||
|
try {
|
||||||
|
Car c3 = new Car(100, 80);
|
||||||
|
// 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
|
||||||
|
c3.accelerate(-20);
|
||||||
|
System.out.println(c3.getSpeed() == 70);
|
||||||
|
// test the accelerate with negative amount
|
||||||
|
c3.accelerate(35);
|
||||||
|
// exception
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (ExceedSpeedLimit e) {
|
||||||
|
System.out
|
||||||
|
.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!");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Car c4 = new Car(100, 80);
|
||||||
|
// exception
|
||||||
|
c4.accelerate(-90);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (ExceedSpeedLimit e) {
|
||||||
|
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!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void testAircraft() {
|
||||||
|
// test case for constructors
|
||||||
|
try {
|
||||||
|
// Exception
|
||||||
|
Aircraft a1 = new Aircraft(70, 80, 1000);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println(e.getMessage().equals("Speed cannot be greater than speed limit!"));
|
||||||
|
} catch (BadAltitudeSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// exception
|
||||||
|
Aircraft a2 = new Aircraft(70, -10, 1000);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println(e.getMessage().equals("Speed cannot be negative!"));
|
||||||
|
} catch (BadAltitudeSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// exception
|
||||||
|
Aircraft a3 = new Aircraft(700, 200, -10);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (BadAltitudeSetting e) {
|
||||||
|
System.out.println(e.getMessage().equals("Altitude cannot be negative!"));
|
||||||
|
}
|
||||||
|
// Test case for accelerate, canFly, getSpeed and getAltitude methods
|
||||||
|
try {
|
||||||
|
Aircraft a4 = new Aircraft(700, 200, 100);
|
||||||
|
// test the getAltitude method
|
||||||
|
System.out.println(a4.getAltitude() == 100);
|
||||||
|
// test the canFly method
|
||||||
|
System.out.println(a4.canFly() == true);
|
||||||
|
a4.accelerate(100);
|
||||||
|
System.out.println(a4.getSpeed() == 300);
|
||||||
|
// test the accelerate with positive amount
|
||||||
|
a4.accelerate(-200);
|
||||||
|
System.out.println(a4.getSpeed() == 100);
|
||||||
|
// test the accelerate with negative amount
|
||||||
|
// exception
|
||||||
|
a4.accelerate(650);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (BadAltitudeSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (ExceedSpeedLimit e) {
|
||||||
|
System.out.println(
|
||||||
|
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!");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Aircraft a5 = new Aircraft(700, 200, 100);
|
||||||
|
// exception
|
||||||
|
a5.accelerate(-300);
|
||||||
|
} catch (BadSpeedSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (BadAltitudeSetting e) {
|
||||||
|
System.out.println("BUG! THIS MUST NEVER HAPPEN!");
|
||||||
|
} catch (ExceedSpeedLimit e) {
|
||||||
|
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!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Vehicle.testVehicle();
|
||||||
|
Car.testCar();
|
||||||
|
Aircraft.testAircraft();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user