Added Route Unit Tests and DataException Exceptions Class
This commit is contained in:
@@ -11,7 +11,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<version>3.8.1</version>
|
<version>4.12</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package seng202.group9.Controller;
|
||||||
|
|
||||||
|
public class DataException extends Exception{
|
||||||
|
|
||||||
|
public DataException(){
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataException(Throwable cause) {
|
||||||
|
super(cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package seng202.group9.Core;
|
package seng202.group9.Core;
|
||||||
|
|
||||||
|
import seng202.group9.Controller.DataException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route Class
|
* Route Class
|
||||||
* @author Fan-Wu Yang
|
* @author Fan-Wu Yang
|
||||||
@@ -46,6 +48,7 @@ public class Route {
|
|||||||
String codeShare, int stops, String equipment){
|
String codeShare, int stops, String equipment){
|
||||||
//remember to set the id manually later after adding it to the database and grab
|
//remember to set the id manually later after adding it to the database and grab
|
||||||
//the new id value of the route.
|
//the new id value of the route.
|
||||||
|
this.ID = -1;
|
||||||
this.stops = stops;
|
this.stops = stops;
|
||||||
this.codeShare = codeShare;
|
this.codeShare = codeShare;
|
||||||
this.equipment = equipment;
|
this.equipment = equipment;
|
||||||
@@ -53,18 +56,11 @@ public class Route {
|
|||||||
this.departureAirport = departureAirport;
|
this.departureAirport = departureAirport;
|
||||||
this.arrivalAirport = arrivalAirport;
|
this.arrivalAirport = arrivalAirport;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Returns code share of the route
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public String getCodeShare() {
|
|
||||||
return codeShare;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* sets code share of the route
|
* sets code share of the route
|
||||||
* @param codeShare
|
* @param codeShare
|
||||||
*/
|
*/
|
||||||
public void setCodeShare(String codeShare) {
|
public void setCode(String codeShare) {
|
||||||
this.codeShare = codeShare;
|
this.codeShare = codeShare;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -113,8 +109,12 @@ public class Route {
|
|||||||
* returns the id of this route
|
* returns the id of this route
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int getID(){
|
public int getID() throws DataException{
|
||||||
return ID;
|
if (this.ID == -1){
|
||||||
|
throw new DataException("ID not set.");
|
||||||
|
}else{
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* returns the number of stops the route stops.
|
* returns the number of stops the route stops.
|
||||||
@@ -159,5 +159,10 @@ public class Route {
|
|||||||
return arrivalAirport;
|
return arrivalAirport;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString(){
|
||||||
|
|
||||||
|
return airline+" flies from "+departureAirport+" to "+arrivalAirport+" on a "+equipment +" stopping "+stops+" amount of times";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package seng202.group9;
|
||||||
|
|
||||||
|
import org.junit.rules.ExpectedException;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
import seng202.group9.Controller.DataException;
|
||||||
|
import seng202.group9.Core.Route;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Route tests
|
||||||
|
* @author Fan-Wu Yang
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class RouteTest extends TestCase {
|
||||||
|
|
||||||
|
public ExpectedException thrown = ExpectedException.none();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRouteGetSet(){
|
||||||
|
//sample entry
|
||||||
|
//BA,1355,SIN,3316,LHR,507,,0,744 777
|
||||||
|
//airline, airline ID (This is not parsed as this will be different
|
||||||
|
//from our database id for this route), source Aiport, source Airport ID (not parsed),
|
||||||
|
//destination airport, destination ID (not parsed), Codeshare, stops, Equipment
|
||||||
|
Route route = new Route("BA", "SIN", "LHR", "", 0, "744 777");
|
||||||
|
//////////////
|
||||||
|
//test getters
|
||||||
|
//////////////
|
||||||
|
assertEquals(route.getAirline(), "BA");
|
||||||
|
assertEquals(route.departsFrom(), "SIN");
|
||||||
|
assertEquals(route.arrivesAt(), "LHR");
|
||||||
|
assertEquals(route.getCode(), "");
|
||||||
|
assertEquals(route.getEquipment(), "744 777");
|
||||||
|
///////////////
|
||||||
|
//test setters
|
||||||
|
///////////////
|
||||||
|
route.setAirline("BAH");
|
||||||
|
route.setArrivalAirport("LEFT-HAND-RULE");
|
||||||
|
route.setDepartureAirport("SING-SONG");
|
||||||
|
route.setCode("Y");
|
||||||
|
route.setStops(5);
|
||||||
|
route.setEquipment("747 840");
|
||||||
|
|
||||||
|
assertEquals(route.getAirline(), "BAH");
|
||||||
|
assertEquals(route.departsFrom(), "SING-SONG");
|
||||||
|
assertEquals(route.arrivesAt(), "LEFT-HAND-RULE");
|
||||||
|
assertEquals(route.getCode(), "Y");
|
||||||
|
assertEquals(route.getEquipment(), "747 840");
|
||||||
|
////////////////////////////
|
||||||
|
//test alternate constructor
|
||||||
|
////////////////////////////
|
||||||
|
Route route2 = new Route(1355, "BA", "SIN", "LHR", "", 0, "744 777");
|
||||||
|
try {
|
||||||
|
assertTrue(1355 == route2.getID());
|
||||||
|
} catch (DataException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRouteIDException() throws DataException{
|
||||||
|
//sample entry
|
||||||
|
//BA,1355,SIN,3316,LHR,507,,0,744 777
|
||||||
|
//airline, airline ID (This is not parsed as this will be different
|
||||||
|
//from our database id for this route), source Aiport, source Airport ID (not parsed),
|
||||||
|
//destination airport, destination ID (not parsed), Codeshare, stops, Equipment
|
||||||
|
Route route = new Route("BA", "SIN", "LHR", "", 0, "744 777");
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
//test that id is not set and throws an exception
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
thrown.expect(DataException.class);
|
||||||
|
thrown.expectMessage("ID not set. Error in Database Implementation for adding code.");
|
||||||
|
try{
|
||||||
|
route.getID();
|
||||||
|
}catch (DataException e){
|
||||||
|
//e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user