gernotbelger@9422: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9422: * Software engineering by gernotbelger@9422: * Björnsen Beratende Ingenieure GmbH gernotbelger@9422: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9422: * gernotbelger@9422: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9422: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9422: * documentation coming with Dive4Elements River for details. gernotbelger@9422: */ gernotbelger@9422: package test; gernotbelger@9422: gernotbelger@9570: import java.io.File; gernotbelger@9570: import java.io.IOException; gernotbelger@9570: import java.util.Iterator; gernotbelger@9570: gernotbelger@9570: import org.apache.commons.io.FileUtils; gernotbelger@9570: import org.junit.AfterClass; gernotbelger@9570: import org.junit.BeforeClass; gernotbelger@9570: gernotbelger@9422: /** gernotbelger@9422: * @author Domenico Nardi Tironi gernotbelger@9422: * gernotbelger@9422: */ gernotbelger@9422: public abstract class AbstractBerechnungsartenTester { gernotbelger@9422: gernotbelger@9422: // for common Settings gernotbelger@9422: // gernotbelger@9570: protected static File testFolder; gernotbelger@9570: gernotbelger@9567: protected enum FileExportBehaviour { gernotbelger@9567: do_not_override, export_all, export_none; gernotbelger@9567: // do_not_override: file export is set individually (not overridden) gernotbelger@9422: // true: all test files created by running jUnit-Tests will be written to disk gernotbelger@9422: // false: no file will be exported gernotbelger@9567: }; gernotbelger@9422: gernotbelger@9422: public static enum River { gernotbelger@9422: Beispielfluss, Rhein, Elbe gernotbelger@9422: }; gernotbelger@9422: gernotbelger@9570: @BeforeClass gernotbelger@9570: public static final void createTempFolder() { gernotbelger@9570: // windows: C:\Users\USER_NAME\AppData\Local\Temp gernotbelger@9570: if (testFolder == null) { gernotbelger@9570: testFolder = new File(FileUtils.getTempDirectory(), "FlysTestFolder"); gernotbelger@9570: if (!testFolder.isDirectory()) gernotbelger@9570: testFolder.mkdir(); gernotbelger@9570: } gernotbelger@9570: } gernotbelger@9570: gernotbelger@9570: @AfterClass gernotbelger@9570: public static void deleteTempFolder() { gernotbelger@9570: gernotbelger@9570: testFolder = new File(FileUtils.getTempDirectory(), "FlysTestFolder"); gernotbelger@9570: if (testFolder.isDirectory() && testFolder.exists()) { gernotbelger@9570: gernotbelger@9570: try { gernotbelger@9570: final Iterator test = FileUtils.iterateFiles(testFolder, null, true); gernotbelger@9570: if (!test.hasNext()) { gernotbelger@9570: FileUtils.deleteDirectory(testFolder); gernotbelger@9570: gernotbelger@9570: testFolder = null; gernotbelger@9570: } gernotbelger@9570: } gernotbelger@9570: catch (final IOException e) { gernotbelger@9570: e.printStackTrace(); gernotbelger@9570: } gernotbelger@9570: } gernotbelger@9570: } gernotbelger@9422: }