Added Route Unit Tests and DataException Exceptions Class

main
YaFedImYaEatIm 9 years ago
parent c096cf07dc
commit eac9a931b6

@ -11,7 +11,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<version>4.12</version>
<scope>test</scope>
</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;
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();
}
}
}
Loading…
Cancel
Save