gernotbelger@9127: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9127: * Software engineering by gernotbelger@9127: * Björnsen Beratende Ingenieure GmbH gernotbelger@9127: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9127: * gernotbelger@9127: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9127: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9127: * documentation coming with Dive4Elements River for details. gernotbelger@9127: */ gernotbelger@9422: package test.sinfo; gernotbelger@9127: gernotbelger@9570: import java.io.File; gernotbelger@9570: gernotbelger@9127: import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException; gernotbelger@9127: import org.dive4elements.river.client.shared.exceptions.ServerException; gernotbelger@9127: gernotbelger@9422: import test.AbstractBerechnungsartenTester.River; gernotbelger@9422: import test.AbstractModuleRunner; gernotbelger@9422: import test.SimpleRecommendation; gernotbelger@9422: import test.sinfo.SinfoBerechnungsartenTester.CalcMode; gernotbelger@9422: import test.sinfo.SinfoFloodDurationRiversideChoice.RiversideChoiceKey; gernotbelger@9127: gernotbelger@9127: /** gernotbelger@9127: * @author Domenico Nardi Tironi gernotbelger@9127: * gernotbelger@9127: */ gernotbelger@9422: final class SinfoRunnerCreatorHelper { gernotbelger@9127: gernotbelger@9422: private SinfoRunnerCreatorHelper() { gernotbelger@9133: throw new UnsupportedOperationException(); gernotbelger@9127: } gernotbelger@9127: gernotbelger@9127: // HELPER-Methods: gernotbelger@9127: gernotbelger@9570: public final static AbstractModuleRunner createSinfoFlowdepthMinMaxTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9567: final SimpleRecommendation rec0, final SimpleRecommendation rec1) throws ConnectionException, ServerException { gernotbelger@9127: // TODO: make recommendationPair to method parameter if needed gernotbelger@9570: final SinfoFlowdepthMinMaxRunner proof = new SinfoFlowdepthMinMaxRunner(testFolder, CalcMode.sinfo_calc_flow_depth_minmax, from, to, river); gernotbelger@9127: proof.addRecommendationPair(rec0, rec1); gernotbelger@9127: gernotbelger@9127: return proof; gernotbelger@9127: } gernotbelger@9148: gernotbelger@9570: public static AbstractModuleRunner createSinfoFlowdepthMinMaxTest(final File testFolder, final int from, final int to, final River river, gernotbelger@9567: final SimpleRecommendation simpleRecommendation0, final SimpleRecommendation simpleRecommendation1, gernotbelger@9567: final SimpleRecommendation simpleRecommendation2, final SimpleRecommendation simpleRecommendation3) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoFlowdepthMinMaxRunner proof = (SinfoFlowdepthMinMaxRunner) createSinfoFlowdepthMinMaxTest(testFolder, from, to, river, simpleRecommendation0, gernotbelger@9567: simpleRecommendation1); gernotbelger@9567: proof.addRecommendationPair(simpleRecommendation2, simpleRecommendation3); gernotbelger@9567: return proof; gernotbelger@9567: } gernotbelger@9567: gernotbelger@9570: public final static AbstractModuleRunner createSinfoFlowdepthTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9570: final boolean useTkh, final SimpleRecommendation rec0, final SimpleRecommendation rec1) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoFlowdepthRunner proof = new SinfoFlowdepthRunner(testFolder, CalcMode.sinfo_calc_flow_depth, from, to, river, useTkh); gernotbelger@9567: proof.addRecommendationPair(rec0, rec1); gernotbelger@9567: gernotbelger@9567: return proof; gernotbelger@9567: } gernotbelger@9567: gernotbelger@9570: public final static AbstractModuleRunner createSinfoFlowdepthDevelopmentTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9567: final SimpleRecommendation rec0_curr, final SimpleRecommendation rec1_curr, final SimpleRecommendation rec0_hist, gernotbelger@9148: final SimpleRecommendation rec1_hist) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoFlowdepthDevelopmentRunner proof = new SinfoFlowdepthDevelopmentRunner(testFolder, CalcMode.sinfo_calc_flow_depth_development, from, to, gernotbelger@9570: river); gernotbelger@9148: proof.addCurrentRecommendationPair(rec0_curr, rec1_curr); gernotbelger@9148: proof.addHistoricalRecommendationPair(rec0_hist, rec1_hist); gernotbelger@9148: return proof; gernotbelger@9148: } gernotbelger@9226: gernotbelger@9570: public final static AbstractModuleRunner createSinfoTkhTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9226: // final boolean useTkh, gernotbelger@9226: final double[] wasserspiegellage) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoTkhRunner proof = new SinfoTkhRunner(testFolder, CalcMode.sinfo_calc_transport_bodies_heights, from, to, river, wasserspiegellage); gernotbelger@9417: gernotbelger@9417: return proof; gernotbelger@9417: } gernotbelger@9418: gernotbelger@9570: public final static AbstractModuleRunner createSinfoCollisionYearsTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9570: final int[] years) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoCollisionRunner proof = new SinfoCollisionRunner(testFolder, from, to, river, years, null) gernotbelger@9567: // .addOutputTest(file, outputModeName, overideWriteToDisk, gernotbelger@9567: // params) gernotbelger@9567: ; gernotbelger@9422: gernotbelger@9422: return proof; gernotbelger@9422: } gernotbelger@9422: gernotbelger@9570: public final static AbstractModuleRunner createSinfoCollisionEpochsTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9570: final String epochs) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoCollisionRunner proof = new SinfoCollisionRunner(testFolder, from, to, river, null, epochs); gernotbelger@9567: gernotbelger@9567: return proof; gernotbelger@9567: } gernotbelger@9567: gernotbelger@9570: public final static AbstractModuleRunner createSinfoFloodDurationTest(final File testFolder, final double from, final double to, final River river, gernotbelger@9418: final double[] wasserspiegellage, final boolean showWspl, final RiversideChoiceKey riverside) throws ConnectionException, ServerException { gernotbelger@9570: final SinfoFloodDurationRunner proof = new SinfoFloodDurationRunner(testFolder, CalcMode.sinfo_calc_flood_duration, from, to, river, wasserspiegellage, gernotbelger@9570: riverside, showWspl); gernotbelger@9418: gernotbelger@9418: return proof; gernotbelger@9418: } gernotbelger@9133: }