Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lapr.project.controller;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Modifier;
- import java.sql.Timestamp;
- import lapr.project.data.RouteDB;
- import lapr.project.model.Location;
- import lapr.project.model.Route;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.junit.jupiter.api.Assertions.assertNull;
- import static org.junit.jupiter.api.Assertions.assertThrows;
- import static org.junit.jupiter.api.Assertions.assertTrue;
- import org.junit.jupiter.api.Test;
- import org.mockito.Mock;
- import org.mockito.Mockito;
- import static org.mockito.Mockito.when;
- import org.mockito.MockitoAnnotations;
- /**
- *
- * @author morei
- */
- public class RouteControllerTest {
- @Mock
- private RouteDB db;
- public RouteControllerTest() {
- }
- @org.junit.jupiter.api.Test
- public void testConstructorIsPublic() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
- Constructor<RouteController> constructor = RouteController.class.getDeclaredConstructor();
- assertEquals(true, Modifier.isPrivate(constructor.getModifiers()));
- constructor.setAccessible(true);
- constructor.newInstance();
- }
- /**
- * Test of createJourney method, of class RouteController.
- */
- @Test
- public void testCreateJourney() {
- System.out.println("createJourney");
- Timestamp visitDate = new Timestamp(10);
- double energy = 10.0;
- Route expResult = new Route(visitDate, energy);
- RouteController instance = new RouteController(expResult);
- Route result = instance.createJourney(visitDate, energy);
- assertEquals(expResult, result);
- }
- /**
- *
- */
- @Test
- public void testRouteNull() {
- RouteController rcont = new RouteController(null);
- assertNull(rcont.updateEnergy(0));
- assertNull(rcont.updateVistDate(null));
- assertNull(rcont.save());
- }
- /**
- * Test of updateEnergy method, of class RouteController.
- */
- @Test
- public void testUpdateEnergy() {
- System.out.println("updateEnergy");
- double energy = 0.0;
- Route expResult = new Route(new Timestamp(15), 10);
- RouteController instance = new RouteController(expResult);
- Route result = instance.updateEnergy(energy);
- assertEquals(expResult, result);
- assertEquals(expResult, instance.updateEnergy(10));
- assertTrue(10 == expResult.getEnergy());
- assertEquals(expResult, instance.updateEnergy(0));
- assertTrue(10 == expResult.getEnergy());
- }
- /**
- * Test of updateVistDate method, of class RouteController.
- */
- @Test
- public void testUpdateVistDate() {
- System.out.println("updateVistDate");
- Timestamp visitDate = new Timestamp(10);
- Route expResult = new Route(new Timestamp(15), 10);
- RouteController instance = new RouteController(expResult);
- Route result = instance.updateVistDate(visitDate);
- assertEquals(expResult, result);
- assertEquals(visitDate, expResult.getVisitDate());
- }
- /**
- * Test of createJourney method, of class RouteController.
- */
- @Test
- public void testCreateJourney_4args() {
- System.out.println("createJourney");
- int idReservation = 1;
- Timestamp visitDate = new Timestamp(10);
- double energy = 0.0;
- Route expResult = new Route(new Location(0, 0, 0), idReservation, visitDate, energy);
- RouteController instance = new RouteController(expResult);
- Route result = instance.createJourney(new Location(0, 0, 0), idReservation, visitDate, energy);
- assertEquals(expResult, result);
- }
- @Test
- public void updateEnergyBiggerThenZero() {
- Route instance2 = new Route(new Location(0, 0, 0), 1, new Timestamp(10), 1.0f);
- RouteController inst = new RouteController(instance2);
- double price2 = 10;
- inst.updateEnergy(price2);
- assertEquals(price2, instance2.getEnergy());
- }
- @Test
- public void updateEnergyLessZero() {
- Route instance2 = new Route(new Location( 0, 0, 0), 1, new Timestamp(10), 1.0f);
- RouteController inst = new RouteController(instance2);
- int price2 = -1;
- inst.updateEnergy(price2);
- assertEquals(1, instance2.getEnergy());
- }
- @Test
- public void testDBRemove() {
- MockitoAnnotations.initMocks(this);
- Route.setDB(db);
- //TEST REMOVE
- Route route = new Route();
- when(db.getRoute(new Location(0,0,0), 0)).thenReturn(route);
- Mockito.doNothing().when(db).removeRoute(new Location(0,0,0), 0);
- assertEquals(RouteController.remove(new Location(0,0,0), 0), route);
- //ENSURE DELETE IS CALLED
- Mockito.doThrow(new IndexOutOfBoundsException()).when(db).removeRoute(new Location(0,0,0), 0);
- IndexOutOfBoundsException exceptionGet = assertThrows(IndexOutOfBoundsException.class, () -> {
- RouteController.remove(new Location(0,0,0), 0);
- });
- assertTrue(exceptionGet.getMessage()==null);
- //TEST NO ELEMENT FOUND
- when(db.getRoute(new Location(0,0,0), 0)).thenThrow(new IllegalArgumentException());
- assertTrue(RouteController.remove(new Location(0,0,0), 0) == null);
- Route.setDB(null);
- assertTrue(Route.getCurrentDB()==null);
- RouteController rc=new RouteController(route);
- assertTrue(Route.getCurrentDB()!=null);
- }
- @Test
- public void testDBSave() {
- MockitoAnnotations.initMocks(this);
- //TEST REMOVE
- Route route = new Route();
- RouteController rc=new RouteController(route);
- //ENSURE SAVE IS CALLED
- Route.setDB(db);
- Mockito.doThrow(new IndexOutOfBoundsException()).when(db).updateRoute(route);
- IndexOutOfBoundsException exceptionGet = assertThrows(IndexOutOfBoundsException.class, () -> {
- rc.save();
- });
- assertTrue(exceptionGet.getMessage()==null);
- Mockito.doNothing().when(db).updateRoute(route);
- assertTrue(rc.save().equals(route));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment