From b5cfa2ce349b44f4c92a8a4fc397afe040f21c7a Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Thu, 17 May 2018 18:23:02 +0200 Subject: Restructure test folder --- .../groupphase/vehicle/CarAddTestService.java | 283 --------------------- .../vehicle/CreateNewVehicleApplication.java | 51 ---- .../vehicle/CreateNewVehicleControllerTest.java | 79 ------ .../vehicle/VehicleServiceTestConfiguration.java | 19 -- 4 files changed, 432 deletions(-) delete mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java delete mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java delete mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java delete mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java deleted file mode 100644 index de7a26a..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java +++ /dev/null @@ -1,283 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.vehicle; - -import static junit.framework.TestCase.fail; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDatabaseDao; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleServiceImpl; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; -import org.junit.Test; - -public class CarAddTestService { - private final VehicleDAO vehicleP = mock(VehicleDatabaseDao.class); - private final VehicleService vehicleService = new VehicleServiceImpl(vehicleP); - - public CarAddTestService() throws PersistenceException { - when(vehicleP.add(any())).thenReturn(1L); - } - - @Test - public void testValidVehicleH() { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.RTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.KTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.KTW_B) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.BKTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - } - - @Test - public void testValidVehicleM() { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.KTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.KTW_B) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.BKTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - } - - @Test - public void testValidVehicleN() { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.BKTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.NEF) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.NAH) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (InvalidVehicleException | ServiceException e) { - fail(); - } - } - - @Test(expected = InvalidVehicleException.class) - public void testInvalidVehicleH() throws InvalidVehicleException { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.NEF) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.HOCHDACH) - .type(Vehicle.VehicleType.NAH) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - } - - @Test(expected = InvalidVehicleException.class) - public void testInvalidVehicleM() throws InvalidVehicleException { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.NEF) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.NAH) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.MITTELHOCHDACH) - .type(Vehicle.VehicleType.RTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - } - - @Test(expected = InvalidVehicleException.class) - public void testInvalidVehicleN() throws InvalidVehicleException { - Vehicle vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.RTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.KTW_B) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - vehicle = - Vehicle.builder() - .constructionType(Vehicle.ConstructionType.NORMAL) - .type(Vehicle.VehicleType.KTW) - .hasNef(true) - .status(Vehicle.Status.ABGEMELDET) - .name("") - .build(); - try { - vehicleService.add(vehicle); - } catch (ServiceException e) { - fail(); - } - } -} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java deleted file mode 100644 index dcd88ec..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java +++ /dev/null @@ -1,51 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.vehicle; - -import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; -import java.lang.invoke.MethodHandles; -import javafx.application.Application; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.stage.Stage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.stereotype.Component; - -@Component -@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") -public class CreateNewVehicleApplication extends Application { - - private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - public static AnnotationConfigApplicationContext context; - - @Override - public void start(Stage primaryStage) throws Exception { - // setup application - primaryStage.setTitle("Fahrzeug anlegen"); - primaryStage.setWidth(1366); - primaryStage.setHeight(768); - primaryStage.centerOnScreen(); - primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); - - context = new AnnotationConfigApplicationContext(CreateNewVehicleApplication.class); - final var fxmlLoader = context.getBean(SpringFXMLLoader.class); - primaryStage.setScene( - new Scene( - (Parent) - fxmlLoader.load( - getClass().getResourceAsStream("/fxml/createCar.fxml")))); - - // show application - primaryStage.show(); - primaryStage.toFront(); - LOG.debug("Application startup complete"); - } - - @Override - public void stop() { - LOG.debug("Stopping application"); - context.close(); - } -} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java deleted file mode 100644 index 866ed74..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.vehicle; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; - -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; -import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; -import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; -import javafx.scene.control.DialogPane; -import javafx.scene.input.MouseButton; -import javafx.stage.Stage; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.testfx.api.FxToolkit; -import org.testfx.robot.Motion; - -public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest { - - private VehicleService vehicleService; - - @Before - public void setup() throws Exception { - // TODO: check if testfx can be run in headless mode on Jenkins - FxToolkit.registerPrimaryStage(); - FxToolkit.setupApplication(CreateNewVehicleApplication.class); - vehicleService = CreateNewVehicleApplication.context.getBean(VehicleService.class); - } - - @After - public void cleanup() throws Exception { - FxToolkit.cleanupStages(); - } - - @Test - public void testClickAddValidVehicle() throws ServiceException, InvalidVehicleException { - - when(vehicleService.add(any())).thenReturn(1L); - - clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); - - Stage alertDialog = Helper.getTopModalStage(robotContext()); - Assert.assertNotNull(alertDialog); - - DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); - Assert.assertEquals("Speichern Erfolgreich", dialogPane.getHeaderText()); - } - - @Test - public void testClickInvalidVehicleEx() throws ServiceException, InvalidVehicleException { - - when(vehicleService.add(any())).thenThrow(InvalidVehicleException.class); - - clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); - - Stage alertDialog = Helper.getTopModalStage(robotContext()); - Assert.assertNotNull(alertDialog); - - DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); - Assert.assertEquals("Ungültige Eingabe", dialogPane.getHeaderText()); - } - - @Test - public void testClickInvalidServiceEx() throws ServiceException, InvalidVehicleException { - - when(vehicleService.add(any())).thenThrow(ServiceException.class); - - clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); - - Stage alertDialog = Helper.getTopModalStage(robotContext()); - Assert.assertNotNull(alertDialog); - - DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); - Assert.assertEquals("Fehler", dialogPane.getHeaderText()); - } -} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java deleted file mode 100644 index ccd1e5d..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java +++ /dev/null @@ -1,19 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.vehicle; - -import static org.mockito.Mockito.mock; - -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleServiceImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; - -@Configuration -public class VehicleServiceTestConfiguration { - - @Bean - @Primary - public VehicleService vehicleService() { - return mock(VehicleServiceImpl.class); - } -} -- cgit v1.2.3-70-g09d2 From ea8477a9699c6065d17ef3b410be8e3c84ddf9c2 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Sat, 12 May 2018 10:34:29 +0200 Subject: Implement Persistence Test Vehicle --- .../groupphase/vehicle/VehiclePersistenceTest.java | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java new file mode 100644 index 0000000..e37259b --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java @@ -0,0 +1,122 @@ +package at.ac.tuwien.sepm.assignment.groupphase.vehicle; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDatabaseDao; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; +import java.io.InputStream; +import java.sql.Types; +import java.util.List; +import org.dbunit.DBTestCase; +import org.dbunit.PropertiesBasedJdbcDatabaseTester; +import org.dbunit.database.DatabaseConfig; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.datatype.DataType; +import org.dbunit.dataset.datatype.DataTypeException; +import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory; +import org.junit.Assert; + +public class VehiclePersistenceTest extends DBTestCase { + + private static final String JDBC_DRIVER = org.h2.Driver.class.getName(); + private static final String JDBC_URL = + "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:sql/database.sql'"; + + private VehicleDAO vehicleDAO; + + public VehiclePersistenceTest() throws PersistenceException { + vehicleDAO = new VehicleDatabaseDao(new JDBCConnectionManager(JDBC_URL)); + + System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, JDBC_DRIVER); + System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, JDBC_URL); + } + + @Override + protected IDataSet getDataSet() throws Exception { + InputStream res = getClass().getClassLoader().getResourceAsStream("vehicleTestData.xml"); + return new FlatXmlDataSetBuilder().build(res); + } + + @Override + protected void setUpDatabaseConfig(DatabaseConfig config) { + PostgresqlDataTypeFactory factory = + new PostgresqlDataTypeFactory() { + @Override + public boolean isEnumType(String sqlTypeName) { + if (sqlTypeName.equalsIgnoreCase("enum")) return true; + + return super.isEnumType(sqlTypeName); + } + + @Override + public DataType createDataType(int sqlType, String sqlTypeName) + throws DataTypeException { + if (isEnumType(sqlTypeName)) { + sqlType = Types.VARCHAR; + } + + return super.createDataType(sqlType, sqlTypeName); + } + }; + + config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory); + } + + public void testListVehicle() throws PersistenceException { + List vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(1) + .constructionType(ConstructionType.HOCHDACH) + .name("RTW-1") + .hasNef(true) + .status(Status.ABGEMELDET) + .type(VehicleType.RTW) + .build(); + Vehicle v2 = + Vehicle.builder() + .id(2) + .constructionType(ConstructionType.MITTELHOCHDACH) + .name("KTW-2") + .hasNef(false) + .status(Status.FREI_WACHE) + .type(VehicleType.KTW) + .build(); + Vehicle v3 = + Vehicle.builder() + .id(3) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + + Assert.assertTrue(vehicles.contains(v1)); + Assert.assertTrue(vehicles.contains(v2)); + Assert.assertTrue(vehicles.contains(v3)); + Assert.assertEquals(3, vehicles.size()); + } + + public void testVehicleListNoElement() throws PersistenceException { + List vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(30) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + + Assert.assertFalse(vehicles.contains(v1)); + } +} -- cgit v1.2.3-70-g09d2 From 97de5781b614f5ab3e515f8a63421aae79cf4aa9 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Mon, 21 May 2018 21:10:07 +0200 Subject: Implement Vehicle Update Tests Persistence #25948 --- .../groupphase/vehicle/VehiclePersistenceTest.java | 95 ++++++++++++++-------- 1 file changed, 62 insertions(+), 33 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java index e37259b..32053a8 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java @@ -7,34 +7,43 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Con import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; import java.sql.Types; import java.util.List; +import org.dbunit.Assertion; import org.dbunit.DBTestCase; import org.dbunit.PropertiesBasedJdbcDatabaseTester; import org.dbunit.database.DatabaseConfig; import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; import org.dbunit.dataset.datatype.DataType; import org.dbunit.dataset.datatype.DataTypeException; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory; +import org.dbunit.util.fileloader.FlatXmlDataFileLoader; +import org.junit.After; import org.junit.Assert; +import org.junit.Test; -public class VehiclePersistenceTest extends DBTestCase { - - private static final String JDBC_DRIVER = org.h2.Driver.class.getName(); - private static final String JDBC_URL = - "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:sql/database.sql'"; +public class VehiclePersistenceTest extends JdbcTestCase { private VehicleDAO vehicleDAO; - public VehiclePersistenceTest() throws PersistenceException { - vehicleDAO = new VehicleDatabaseDao(new JDBCConnectionManager(JDBC_URL)); + private Vehicle validUpdateVehicle = Vehicle.builder() + .hasNef(true) + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .id(4) + .name("RTW-4") + .status(Status.ABGEMELDET) + .build(); - System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, JDBC_DRIVER); - System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, JDBC_URL); - } + public VehiclePersistenceTest(){ + vehicleDAO = new VehicleDatabaseDao(getJdbcConnectionManager()); + } @Override protected IDataSet getDataSet() throws Exception { @@ -42,31 +51,13 @@ public class VehiclePersistenceTest extends DBTestCase { return new FlatXmlDataSetBuilder().build(res); } - @Override - protected void setUpDatabaseConfig(DatabaseConfig config) { - PostgresqlDataTypeFactory factory = - new PostgresqlDataTypeFactory() { - @Override - public boolean isEnumType(String sqlTypeName) { - if (sqlTypeName.equalsIgnoreCase("enum")) return true; - - return super.isEnumType(sqlTypeName); - } - - @Override - public DataType createDataType(int sqlType, String sqlTypeName) - throws DataTypeException { - if (isEnumType(sqlTypeName)) { - sqlType = Types.VARCHAR; - } - - return super.createDataType(sqlType, sqlTypeName); - } - }; - - config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, factory); + @After + public void tearDownOperation() throws Exception { + // needed in order to completely reset DB, including resetting auto_increment sequences + getJdbcConnectionManager().getConnection().prepareStatement("DROP ALL OBJECTS").execute(); } + @Test public void testListVehicle() throws PersistenceException { List vehicles = vehicleDAO.list(); @@ -104,6 +95,7 @@ public class VehiclePersistenceTest extends DBTestCase { Assert.assertEquals(3, vehicles.size()); } + @Test public void testVehicleListNoElement() throws PersistenceException { List vehicles = vehicleDAO.list(); @@ -119,4 +111,41 @@ public class VehiclePersistenceTest extends DBTestCase { Assert.assertFalse(vehicles.contains(v1)); } + + @Test + public void testUpdateValid_VehicleVersion()throws Exception{ + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[]{"ID", "NAME"}; + String tableVehicleVersion = "VEHICLEVERSION"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } + @Test + public void testUpdateValid_Vehicle()throws Exception{ + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[]{"VERSION","STATUS"}; + String tableVehicleVersion = "VEHICLE"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } } -- cgit v1.2.3-70-g09d2 From c5eff512cc2cdb7204e31d8fb992a9bffbfbd807 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Tue, 22 May 2018 11:09:50 +0200 Subject: expand Vehicle Update Persistence Tests #25948 --- .../groupphase/vehicle/VehiclePersistenceTest.java | 61 +++++++++++++--------- 1 file changed, 35 insertions(+), 26 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java index 32053a8..2d92818 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java @@ -6,24 +6,16 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; -import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; -import java.sql.Types; import java.util.List; import org.dbunit.Assertion; -import org.dbunit.DBTestCase; -import org.dbunit.PropertiesBasedJdbcDatabaseTester; -import org.dbunit.database.DatabaseConfig; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; -import org.dbunit.dataset.datatype.DataType; -import org.dbunit.dataset.datatype.DataTypeException; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; -import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory; -import org.dbunit.util.fileloader.FlatXmlDataFileLoader; import org.junit.After; import org.junit.Assert; import org.junit.Test; @@ -32,18 +24,19 @@ public class VehiclePersistenceTest extends JdbcTestCase { private VehicleDAO vehicleDAO; - private Vehicle validUpdateVehicle = Vehicle.builder() - .hasNef(true) - .constructionType(ConstructionType.HOCHDACH) - .type(VehicleType.RTW) - .id(4) - .name("RTW-4") - .status(Status.ABGEMELDET) - .build(); - - public VehiclePersistenceTest(){ + private Vehicle validUpdateVehicle = + Vehicle.builder() + .hasNef(true) + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .id(2) + .name("RTW-2") + .status(Status.ABGEMELDET) + .build(); + + public VehiclePersistenceTest() { vehicleDAO = new VehicleDatabaseDao(getJdbcConnectionManager()); - } + } @Override protected IDataSet getDataSet() throws Exception { @@ -113,15 +106,15 @@ public class VehiclePersistenceTest extends JdbcTestCase { } @Test - public void testUpdateValid_VehicleVersion()throws Exception{ + public void testUpdateValid_VehicleVersion() throws Exception { vehicleDAO.update(validUpdateVehicle); - String[] excludedColumnsVehicleVersion = new String[]{"ID", "NAME"}; + String[] excludedColumnsVehicleVersion = new String[] {"ID", "NAME"}; String tableVehicleVersion = "VEHICLEVERSION"; ITable actualTableData = Helper.getActualFilteredTableData( - getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion); + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); ITable expectedTableData = Helper.getExpectedFilteredTableData( @@ -130,16 +123,17 @@ public class VehiclePersistenceTest extends JdbcTestCase { "vehicleTestUpdateExpectedData.xml"); Assertion.assertEquals(expectedTableData, actualTableData); } + @Test - public void testUpdateValid_Vehicle()throws Exception{ + public void testUpdateValid_Vehicle() throws Exception { vehicleDAO.update(validUpdateVehicle); - String[] excludedColumnsVehicleVersion = new String[]{"VERSION","STATUS"}; + String[] excludedColumnsVehicleVersion = new String[] {"VERSION", "STATUS"}; String tableVehicleVersion = "VEHICLE"; ITable actualTableData = Helper.getActualFilteredTableData( - getConnection(),tableVehicleVersion,excludedColumnsVehicleVersion); + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); ITable expectedTableData = Helper.getExpectedFilteredTableData( @@ -148,4 +142,19 @@ public class VehiclePersistenceTest extends JdbcTestCase { "vehicleTestUpdateExpectedData.xml"); Assertion.assertEquals(expectedTableData, actualTableData); } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistingVehicle() + throws PersistenceException, ElementNotFoundException { + Vehicle nonExistentVehicle = + Vehicle.builder() + .id(35) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + vehicleDAO.update(nonExistentVehicle); + } } -- cgit v1.2.3-70-g09d2 From 16e8d50e0c320f3028d0e1324d15c9cb9ce33085 Mon Sep 17 00:00:00 2001 From: Tharre Date: Tue, 22 May 2018 14:58:41 +0200 Subject: Fix merge conflicts caused by interface change --- .../einsatzverwaltung/controller/CreateCarController.java | 4 ++-- .../groupphase/vehicle/VehiclePersistenceTest.java | 13 +++---------- 2 files changed, 5 insertions(+), 12 deletions(-) (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java index f640807..e88e640 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java @@ -9,7 +9,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.lang.invoke.MethodHandles; import java.util.EnumSet; -import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import javafx.collections.FXCollections; @@ -162,7 +162,7 @@ public class CreateCarController { } private void vehicleListFP() { - List vehicleList = null; + Set vehicleList = null; fp_vehicleList.getChildren().clear(); try { vehicleList = vehicleService.list(EnumSet.range(Status.ABGEMELDET, Status.FREI_FUNK)); diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java index 2d92818..81ebf63 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java @@ -11,12 +11,11 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; -import java.util.List; +import java.util.Set; import org.dbunit.Assertion; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; -import org.junit.After; import org.junit.Assert; import org.junit.Test; @@ -44,15 +43,9 @@ public class VehiclePersistenceTest extends JdbcTestCase { return new FlatXmlDataSetBuilder().build(res); } - @After - public void tearDownOperation() throws Exception { - // needed in order to completely reset DB, including resetting auto_increment sequences - getJdbcConnectionManager().getConnection().prepareStatement("DROP ALL OBJECTS").execute(); - } - @Test public void testListVehicle() throws PersistenceException { - List vehicles = vehicleDAO.list(); + Set vehicles = vehicleDAO.list(); Vehicle v1 = Vehicle.builder() @@ -90,7 +83,7 @@ public class VehiclePersistenceTest extends JdbcTestCase { @Test public void testVehicleListNoElement() throws PersistenceException { - List vehicles = vehicleDAO.list(); + Set vehicles = vehicleDAO.list(); Vehicle v1 = Vehicle.builder() -- cgit v1.2.3-70-g09d2 From 5ee4e894eb9bf4f72d68bd8e3db4dd32db218c0b Mon Sep 17 00:00:00 2001 From: Dominic Rogetzer Date: Wed, 23 May 2018 16:27:03 +0200 Subject: JF: Move VehiclePersistenceTest to correct package [#27241] --- .../dao/VehiclePersistenceTest.java | 151 ++++++++++++++++++++ .../groupphase/vehicle/VehiclePersistenceTest.java | 153 --------------------- 2 files changed, 151 insertions(+), 153 deletions(-) create mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehiclePersistenceTest.java delete mode 100644 src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle') diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehiclePersistenceTest.java new file mode 100644 index 0000000..9909385 --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehiclePersistenceTest.java @@ -0,0 +1,151 @@ +package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; +import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; +import java.io.InputStream; +import java.util.Set; +import org.dbunit.Assertion; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.junit.Assert; +import org.junit.Test; + +public class VehiclePersistenceTest extends JdbcTestCase { + + private VehicleDAO vehicleDAO; + + private Vehicle validUpdateVehicle = + Vehicle.builder() + .hasNef(true) + .constructionType(ConstructionType.HOCHDACH) + .type(VehicleType.RTW) + .id(2) + .name("RTW-2") + .status(Status.ABGEMELDET) + .build(); + + public VehiclePersistenceTest() { + vehicleDAO = new VehicleDatabaseDao(getJdbcConnectionManager()); + } + + @Override + protected IDataSet getDataSet() throws Exception { + InputStream res = getClass().getClassLoader().getResourceAsStream("vehicleTestData.xml"); + return new FlatXmlDataSetBuilder().build(res); + } + + @Test + public void testListVehicle() throws PersistenceException { + Set vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(1) + .constructionType(ConstructionType.HOCHDACH) + .name("RTW-1") + .hasNef(true) + .status(Status.ABGEMELDET) + .type(VehicleType.RTW) + .build(); + Vehicle v2 = + Vehicle.builder() + .id(2) + .constructionType(ConstructionType.MITTELHOCHDACH) + .name("KTW-2") + .hasNef(false) + .status(Status.FREI_WACHE) + .type(VehicleType.KTW) + .build(); + Vehicle v3 = + Vehicle.builder() + .id(3) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + + Assert.assertTrue(vehicles.contains(v1)); + Assert.assertTrue(vehicles.contains(v2)); + Assert.assertTrue(vehicles.contains(v3)); + Assert.assertEquals(3, vehicles.size()); + } + + @Test + public void testVehicleListNoElement() throws PersistenceException { + Set vehicles = vehicleDAO.list(); + + Vehicle v1 = + Vehicle.builder() + .id(30) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + + Assert.assertFalse(vehicles.contains(v1)); + } + + @Test + public void testUpdateValid_VehicleVersion() throws Exception { + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[] {"ID", "NAME"}; + String tableVehicleVersion = "VEHICLEVERSION"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test + public void testUpdateValid_Vehicle() throws Exception { + vehicleDAO.update(validUpdateVehicle); + + String[] excludedColumnsVehicleVersion = new String[] {"VERSION", "STATUS"}; + String tableVehicleVersion = "VEHICLE"; + + ITable actualTableData = + Helper.getActualFilteredTableData( + getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); + + ITable expectedTableData = + Helper.getExpectedFilteredTableData( + tableVehicleVersion, + excludedColumnsVehicleVersion, + "vehicleTestUpdateExpectedData.xml"); + Assertion.assertEquals(expectedTableData, actualTableData); + } + + @Test(expected = ElementNotFoundException.class) + public void testUpdateNonExistingVehicle() + throws PersistenceException, ElementNotFoundException { + Vehicle nonExistentVehicle = + Vehicle.builder() + .id(35) + .constructionType(ConstructionType.NORMAL) + .name("NEF-3") + .hasNef(false) + .status(Status.FREI_FUNK) + .type(VehicleType.NEF) + .build(); + vehicleDAO.update(nonExistentVehicle); + } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java deleted file mode 100644 index 81ebf63..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehiclePersistenceTest.java +++ /dev/null @@ -1,153 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.vehicle; - -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDatabaseDao; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; -import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; -import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; -import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; -import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; -import java.io.InputStream; -import java.util.Set; -import org.dbunit.Assertion; -import org.dbunit.dataset.IDataSet; -import org.dbunit.dataset.ITable; -import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; -import org.junit.Assert; -import org.junit.Test; - -public class VehiclePersistenceTest extends JdbcTestCase { - - private VehicleDAO vehicleDAO; - - private Vehicle validUpdateVehicle = - Vehicle.builder() - .hasNef(true) - .constructionType(ConstructionType.HOCHDACH) - .type(VehicleType.RTW) - .id(2) - .name("RTW-2") - .status(Status.ABGEMELDET) - .build(); - - public VehiclePersistenceTest() { - vehicleDAO = new VehicleDatabaseDao(getJdbcConnectionManager()); - } - - @Override - protected IDataSet getDataSet() throws Exception { - InputStream res = getClass().getClassLoader().getResourceAsStream("vehicleTestData.xml"); - return new FlatXmlDataSetBuilder().build(res); - } - - @Test - public void testListVehicle() throws PersistenceException { - Set vehicles = vehicleDAO.list(); - - Vehicle v1 = - Vehicle.builder() - .id(1) - .constructionType(ConstructionType.HOCHDACH) - .name("RTW-1") - .hasNef(true) - .status(Status.ABGEMELDET) - .type(VehicleType.RTW) - .build(); - Vehicle v2 = - Vehicle.builder() - .id(2) - .constructionType(ConstructionType.MITTELHOCHDACH) - .name("KTW-2") - .hasNef(false) - .status(Status.FREI_WACHE) - .type(VehicleType.KTW) - .build(); - Vehicle v3 = - Vehicle.builder() - .id(3) - .constructionType(ConstructionType.NORMAL) - .name("NEF-3") - .hasNef(false) - .status(Status.FREI_FUNK) - .type(VehicleType.NEF) - .build(); - - Assert.assertTrue(vehicles.contains(v1)); - Assert.assertTrue(vehicles.contains(v2)); - Assert.assertTrue(vehicles.contains(v3)); - Assert.assertEquals(3, vehicles.size()); - } - - @Test - public void testVehicleListNoElement() throws PersistenceException { - Set vehicles = vehicleDAO.list(); - - Vehicle v1 = - Vehicle.builder() - .id(30) - .constructionType(ConstructionType.NORMAL) - .name("NEF-3") - .hasNef(false) - .status(Status.FREI_FUNK) - .type(VehicleType.NEF) - .build(); - - Assert.assertFalse(vehicles.contains(v1)); - } - - @Test - public void testUpdateValid_VehicleVersion() throws Exception { - vehicleDAO.update(validUpdateVehicle); - - String[] excludedColumnsVehicleVersion = new String[] {"ID", "NAME"}; - String tableVehicleVersion = "VEHICLEVERSION"; - - ITable actualTableData = - Helper.getActualFilteredTableData( - getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); - - ITable expectedTableData = - Helper.getExpectedFilteredTableData( - tableVehicleVersion, - excludedColumnsVehicleVersion, - "vehicleTestUpdateExpectedData.xml"); - Assertion.assertEquals(expectedTableData, actualTableData); - } - - @Test - public void testUpdateValid_Vehicle() throws Exception { - vehicleDAO.update(validUpdateVehicle); - - String[] excludedColumnsVehicleVersion = new String[] {"VERSION", "STATUS"}; - String tableVehicleVersion = "VEHICLE"; - - ITable actualTableData = - Helper.getActualFilteredTableData( - getConnection(), tableVehicleVersion, excludedColumnsVehicleVersion); - - ITable expectedTableData = - Helper.getExpectedFilteredTableData( - tableVehicleVersion, - excludedColumnsVehicleVersion, - "vehicleTestUpdateExpectedData.xml"); - Assertion.assertEquals(expectedTableData, actualTableData); - } - - @Test(expected = ElementNotFoundException.class) - public void testUpdateNonExistingVehicle() - throws PersistenceException, ElementNotFoundException { - Vehicle nonExistentVehicle = - Vehicle.builder() - .id(35) - .constructionType(ConstructionType.NORMAL) - .name("NEF-3") - .hasNef(false) - .status(Status.FREI_FUNK) - .type(VehicleType.NEF) - .build(); - vehicleDAO.update(nonExistentVehicle); - } -} -- cgit v1.2.3-70-g09d2