annotate gwt-client/src/test/java/test/bundu/BunduBezugswstRunner.java @ 9570:531a60b7af95

failed tests will be saved to disk
author gernotbelger
date Mon, 05 Nov 2018 17:15:30 +0100
parents 86e522bc7f36
children
rev   line source
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
2 * Software engineering by
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
5 *
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
9 */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
10 package test.bundu;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
11
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
12 import java.io.File;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
13 import java.io.IOException;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
14 import java.util.Calendar;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
15 import java.util.List;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
16 import java.util.TimeZone;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
17
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
18 import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.client.shared.exceptions.ServerException;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.client.shared.model.Data;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
21 import org.dive4elements.river.client.shared.model.DataItem;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
22 import org.dive4elements.river.client.shared.model.DefaultDataItem;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
23 import org.dive4elements.river.client.shared.model.IntDataItem;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
24 import org.dive4elements.river.client.shared.model.IntegerArrayData;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
25 import org.dive4elements.river.client.shared.model.StringOptionsData;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
26
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
27 import test.AbstractBerechnungsartenTester.River;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
28 import test.AbstractModuleRunner;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
29
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
30 /**
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
31 * @author Domenico Nardi Tironi
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
32 *
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
33 */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
34 class BunduBezugswstRunner extends AbstractModuleRunner {
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
35
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
36 private final String fixationChoice;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
37 private final int bezugsjahr;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
38 private final int years_length;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
39
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
40 private final boolean fehlvolumina;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
41 private final String sounding;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
42
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
43 private final String calcChoice;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
44 private final double step;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
45 private final List<Segment> segments;
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
46 private final String qSectorStart;
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
47 private final String qSectorEnd;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
48 private final int[] events;
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
49 private final String function;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
50 private final Double fehlVolFrom;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
51 private final Double fehlVolTo;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
52 private final boolean preprocessing;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
53
9570
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
54 public BunduBezugswstRunner(final File testFolder, final double from, final double to, final double step, final River river, final int bezugsjahr,
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
55 final String fixationChoice, final String function, final String abflussklasseFrom, final String abflussklasseTo, final int[] events,
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
56 final int years_length, final List<Segment> segments, final String calcChoice, final boolean preprocessing, final boolean fehlvolumina,
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
57 final Double fehlVolFrom, final Double fehlVolTo, final String sounding) throws ConnectionException, ServerException {
531a60b7af95 failed tests will be saved to disk
gernotbelger
parents: 9567
diff changeset
58 super(testFolder, AbstractModuleRunner.Infotype.bundu, test.bundu.BunduBerechnungsartenTester.CalcMode.bundu_bezugswst, from, to, river);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
59 this.fixationChoice = fixationChoice;
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
60 this.qSectorStart = abflussklasseFrom;
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
61 this.qSectorEnd = abflussklasseTo;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
62 this.bezugsjahr = bezugsjahr;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
63 this.years_length = years_length;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
64 this.fehlvolumina = fehlvolumina;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
65 this.fehlVolFrom = fehlVolFrom;
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
66 this.fehlVolTo = fehlVolTo;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
67 this.sounding = sounding;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
68 this.calcChoice = calcChoice;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
69 this.preprocessing = preprocessing;
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
70 this.step = step;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
71 this.segments = segments;
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
72 this.events = events;
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
73 this.function = function;
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
74
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
75 }
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
76
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
77 @Override
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
78 public void runTest() throws ServerException, IOException {
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
79 /* Select River */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
80 super.selectRiver();
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
81
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
82 /* Select ICalcMode */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
83 super.selectCalcMode();
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
84
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
85 /* Select Range with step */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
86 final Data[] temp = super.makeFromToData("ld_from", "ld_to", this.getFrom(), this.getTo());
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
87 final String stepStr = String.valueOf(this.step);
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
88 final Data[] data = super.addItemToExistingData(temp,
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
89 new StringOptionsData("ld_step", "ld_step", new DataItem[] { new DefaultDataItem(stepStr, stepStr, stepStr) }));
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
90
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
91 super.feedAndGo(data, 0);
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
92
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
93 /* bezugsjahr */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
94 final String bezugsjahr = String.valueOf(this.bezugsjahr);
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
95
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
96 final IntDataItem[] eventArray = new IntDataItem[this.events.length];
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
97 for (int i = 0; i < this.events.length; i++) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
98 eventArray[i] = new IntDataItem("id", "id", this.events[i]);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
99 }
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
100
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
101 final IntegerArrayData iadTemp = new IntegerArrayData("events_temp", "events_temp", eventArray);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
102
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
103 super.feedAndGo(new Data[] { super.getSimpleTextInput("singleyear", bezugsjahr), iadTemp }, 0);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
104
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
105 /* fixierungsauswahl - auto oder manuell */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
106 // AUTO: 0, 3
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
107 final Data q1 = super.getSimpleTextInput("q1", this.qSectorStart);
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
108 final Data q2 = super.getSimpleTextInput("q2", this.qSectorEnd);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
109 final Data fixChoice = super.getSimpleTextInput("fix_choice", this.fixationChoice);
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
110 // start, end (missing)
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
111 // final DateTimeFormat df = DateTimeFormat.getFormat("dd.MM.yyyy");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
112 final Calendar cal = Calendar.getInstance();
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
113 cal.setTimeZone(TimeZone.getDefault());// TODO: TimeZoneHandling
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
114 cal.set(Calendar.YEAR, (this.bezugsjahr - 5));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
115 cal.set(Calendar.DAY_OF_YEAR, 1);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
116
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
117 final Data startData = super.getSimpleTextInput("start", String.valueOf(cal.getTime().getTime()));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
118 cal.set(Calendar.YEAR, (this.bezugsjahr - 5));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
119 cal.set(Calendar.DAY_OF_YEAR, 365);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
120 final Data endData = super.getSimpleTextInput("end", String.valueOf(cal.getTime().getTime()));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
121 final IntegerArrayData iad = new IntegerArrayData("events", "events", eventArray);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
122
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
123 super.feedAndGo(new Data[] { q1, q2, iad, fixChoice, startData, endData }, 0);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
124
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
125 if (this.fixationChoice.equals("state.bundu.wst.fix.manual")) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
126 super.feedAndGo(new Data[] { q1, q2 }, 0); // ein State extra im workflow
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
127 }
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
128
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
129 /* Länge der Abflusszeitreihe */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
130 super.feedAndGoSimpleTextInput("year_input_q_series", String.valueOf(this.years_length));
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
131
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
132 /* (W)Q-Input / UD Input */
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
133
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
134 final Data[] wqData = Segment.getDataforFeed("wq_values", this.segments);
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
135 final Data[] wqAndMode = super.addItemToExistingData(wqData,
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
136 new StringOptionsData("bundu.wst.mode", "bundu.wst.mode", new DataItem[] { new DefaultDataItem("Q", "Q", "Q") }));
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
137
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
138 super.feedAndGo(wqAndMode, //
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
139 0);// reachable state index
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
140
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
141 /* calc_choice */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
142 final Data preprocessingData = super.getSimpleTextInput("preprocessing", String.valueOf(this.preprocessing));
9442
173f188569c6 little improvements
gernotbelger
parents: 9439
diff changeset
143 final Data functionData = super.getSimpleTextInput("function", this.function);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
144 final Data calcChoice = super.getSimpleTextInput("calc_choice", this.calcChoice);
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
145 super.feedAndGo(new Data[] { calcChoice, preprocessingData, functionData }, 0);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
146
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
147 if (this.calcChoice.equals("state.bundu.wst.calc.manual")) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
148 super.feedAndGo(new Data[] { functionData }, 0); // extra states im workflow
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
149 super.feedAndGo(new Data[] { preprocessingData }, 0);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
150 }
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
151
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
152 /* missing_volume */
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
153 final Data missingVolume = super.getSimpleTextInput("missing_volume", String.valueOf(this.fehlvolumina));
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
154 super.feedAndGo(new Data[] { missingVolume }, 0);
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
155
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
156 if (this.fehlvolumina) {
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
157 super.makeKmRange(this.fehlVolFrom, this.fehlVolTo, "ld_from_part", "ld_to_part");
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
158 super.feedAndGoSimpleTextInput("soundings", this.sounding);
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
159 }
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
160 describeCollection();
9567
86e522bc7f36 jUnit-Tests completed
gernotbelger
parents: 9442
diff changeset
161 super.runTests();
9439
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
162 }
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
163
ce0a48b93f4b bundu jUnit test first attempt
gernotbelger
parents:
diff changeset
164 }

http://dive4elements.wald.intevation.org