annotate gwt-client/src/test/java/test/bundu/BunduBezugswstRunner.java @ 9567:86e522bc7f36

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

http://dive4elements.wald.intevation.org