Added Route Unit Tests and DataException Exceptions Class
This commit is contained in:
@@ -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;
|
||||
|
||||
import seng202.group9.Controller.DataException;
|
||||
|
||||
/**
|
||||
* Route Class
|
||||
* @author Fan-Wu Yang
|
||||
@@ -46,6 +48,7 @@ public class Route {
|
||||
String codeShare, int stops, String equipment){
|
||||
//remember to set the id manually later after adding it to the database and grab
|
||||
//the new id value of the route.
|
||||
this.ID = -1;
|
||||
this.stops = stops;
|
||||
this.codeShare = codeShare;
|
||||
this.equipment = equipment;
|
||||
@@ -53,18 +56,11 @@ public class Route {
|
||||
this.departureAirport = departureAirport;
|
||||
this.arrivalAirport = arrivalAirport;
|
||||
}
|
||||
/**
|
||||
* Returns code share of the route
|
||||
* @return
|
||||
*/
|
||||
public String getCodeShare() {
|
||||
return codeShare;
|
||||
}
|
||||
/**
|
||||
* sets code share of the route
|
||||
* @param codeShare
|
||||
*/
|
||||
public void setCodeShare(String codeShare) {
|
||||
public void setCode(String codeShare) {
|
||||
this.codeShare = codeShare;
|
||||
}
|
||||
/**
|
||||
@@ -113,8 +109,12 @@ public class Route {
|
||||
* returns the id of this route
|
||||
* @return
|
||||
*/
|
||||
public int getID(){
|
||||
return ID;
|
||||
public int getID() throws DataException{
|
||||
if (this.ID == -1){
|
||||
throw new DataException("ID not set.");
|
||||
}else{
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* returns the number of stops the route stops.
|
||||
@@ -159,5 +159,10 @@ public class Route {
|
||||
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