gernotbelger@9439: package test.bundu; gernotbelger@9439: gernotbelger@9439: import java.io.IOException; gernotbelger@9439: import java.util.ArrayList; gernotbelger@9439: import java.util.List; gernotbelger@9439: gernotbelger@9439: import org.dive4elements.river.client.shared.exceptions.ServerException; gernotbelger@9439: import org.junit.Test; gernotbelger@9439: gernotbelger@9439: import test.AbstractBerechnungsartenTester; gernotbelger@9567: import test.FilenameSupplier; gernotbelger@9439: import test.ICalcMode; gernotbelger@9439: gernotbelger@9570: //@Ignore gernotbelger@9439: public class BunduBerechnungsartenTester extends AbstractBerechnungsartenTester { gernotbelger@9439: gernotbelger@9567: private static final String BUNDU_WST_DEFAULT_EXPORT_MODE = "bundu_wst_export"; gernotbelger@9567: private static final String BUNDU_WSPL_LONGITUDINAL_SECTION_MODE = "bundu_wspl_longitudinal_section"; gernotbelger@9567: gernotbelger@9567: private static final String BUNDU_BEZUGSWST_AUTO_FIX_CHOICE = "state.bundu.wst.fix.auto"; gernotbelger@9567: gernotbelger@9439: public static enum CalcMode implements ICalcMode { gernotbelger@9439: bundu_bezugswst, // gernotbelger@9439: // der Vollständigkeit halber gernotbelger@9439: bundu_analysis, bundu_vollmer gernotbelger@9439: }; gernotbelger@9439: gernotbelger@9567: final FilenameSupplier BEZUGSWST_FILE = new FilenameSupplier("/bundu/bezugswst/bezugswst.csv"); gernotbelger@9567: final FilenameSupplier BEZUGSWST_02_FILE = new FilenameSupplier("/bundu/bezugswst/bundu_bzws_02.csv"); gernotbelger@9567: final FilenameSupplier BEZUGSWST_02_CHART_FILE = new FilenameSupplier("/bundu/bezugswst/bundu_bzws_02_chart.csv"); gernotbelger@9567: final FilenameSupplier BEZUGSWST_03_FILE = new FilenameSupplier("/bundu/bezugswst/bundu_bzws_03.csv"); // gernotbelger@9439: gernotbelger@9442: // public static final LinkedHashMap getMapValues(final FLYSConstants MSG) { gernotbelger@9442: // final LinkedHashMap mapValues = new LinkedHashMap(); gernotbelger@9442: // mapValues.put("0", MSG.gauge_mnq()); gernotbelger@9442: // mapValues.put("1", MSG.gauge_mq()); gernotbelger@9442: // mapValues.put("2", MSG.gauge_mhq()); gernotbelger@9442: // mapValues.put("3", MSG.gauge_hq5()); gernotbelger@9442: // return mapValues; gernotbelger@9442: // } gernotbelger@9439: gernotbelger@9567: // @Test gernotbelger@9567: public void testBezugswst_HELLO_WORLD() throws ServerException, IOException { gernotbelger@9567: gernotbelger@9442: /* WQ-Input */ gernotbelger@9567: // FIXME: normally provided by state, but we do not have access to server-side at this point. gernotbelger@9439: final List segments = new ArrayList(); gernotbelger@9442: // gauge, fromKm, toKm, Q-Input gernotbelger@9567: segments.add(new Segment("Köln", 670., 703.3, 1060.)); gernotbelger@9567: segments.add(new Segment("Düsseldorf", 703.4, 710., 1090.)); gernotbelger@9439: gernotbelger@9442: /* Abflussklassen */ gernotbelger@9442: // MSG won't work here! gernotbelger@9442: // final LinkedHashMap map = FixGaugeSelectPanel.getMapValues(MSG); gernotbelger@9442: // final String mnq = MSG.gauge_mnq(); gernotbelger@9442: // final String hq5 = MSG.gauge_hq5(); gernotbelger@9439: gernotbelger@9442: final String abflussklasseFrom = "0"; // map.get(mnq); gernotbelger@9442: final String abflussklasseTo = "3";// map.get(hq5); gernotbelger@9442: gernotbelger@9442: /* Function */ gernotbelger@9442: // from FixFunctionSelect: gernotbelger@9442: // funcDesc.put("log", "W(Q) = m*ln(Q + b)"); gernotbelger@9442: // funcDesc.put("linear", "W(Q) = m * Q + b"); gernotbelger@9442: // funcDesc.put("log-linear", "W(Q) = a*ln(m*Q+b)"); gernotbelger@9442: // funcDesc.put("exp", "W(Q) = m * a^Q + b"); gernotbelger@9442: // funcDesc.put("quad", "W(Q) = n*Q^2+m*Q+b"); gernotbelger@9442: // funcDesc.put("pow", "W(Q) = a * Q^c + d"); gernotbelger@9442: // funcDesc.put("sq-pow", "S(Q) = a * Q^b"); gernotbelger@9442: gernotbelger@9442: final String function = "log"; gernotbelger@9442: gernotbelger@9442: /* calc-choice (has to be set due to state-transition-conditions) */ gernotbelger@9442: // state.bundu.wst.calc.manual gernotbelger@9442: // state.bundu.wst.calc.auto gernotbelger@9442: final String calcChoice = "state.bundu.wst.calc.auto"; gernotbelger@9442: gernotbelger@9442: /* fixation-choice (has to be set due to state-transition-conditions) */ gernotbelger@9442: // "state.bundu.wst.fix.auto" gernotbelger@9442: // state.bundu.wst.fix.manual; gernotbelger@9442: final String fixChoice = "state.bundu.wst.fix.auto"; gernotbelger@9442: gernotbelger@9442: /* Soundings */ gernotbelger@9442: // --> Debug at ParameterMatrixPanel.getData gernotbelger@9567: final String sounding = "single-95"; // TESTs gernotbelger@9442: /* events - have to be set also when auto is selected */ gernotbelger@9442: // --> get ids by debugging FixCalculation line 73 (constructor) gernotbelger@9439: final int[] events = new int[] { 1465, 1466, 1452, 1453, 1472, 1473, 1478, 1479, 1604, 1605, 1317, 1318, 1353, 1354, 1596, 1597, 1323, 1324, 1345, 1346, gernotbelger@9442: 1330, 1331, 1458, 1459 }; gernotbelger@9439: gernotbelger@9567: final boolean preprocessing = false; gernotbelger@9567: final boolean missingVolume = false; gernotbelger@9567: gernotbelger@9570: new BunduBezugswstRunner(super.testFolder, 670.0, 710., 100., River.Rhein, 2014, fixChoice, function, abflussklasseFrom, abflussklasseTo, events, 40, gernotbelger@9570: segments, calcChoice, preprocessing, missingVolume, null, null, sounding)// gernotbelger@9567: .addOutputTest(this.BEZUGSWST_FILE, BUNDU_WST_DEFAULT_EXPORT_MODE, null)// gernotbelger@9567: .runTest(); gernotbelger@9567: } gernotbelger@9567: gernotbelger@9567: @Test gernotbelger@9567: public void testBezugswst02() throws ServerException, IOException { gernotbelger@9567: gernotbelger@9567: final List segments = new ArrayList(); gernotbelger@9567: // gauge, fromKm, toKm, Q-Input gernotbelger@9567: segments.add(new Segment("Maxau", 336.2, 384.8, 1257.)); gernotbelger@9567: segments.add(new Segment("Speyer", 384.9, 428.1, 1278.)); gernotbelger@9567: segments.add(new Segment("Worms", 428.2, 496.6, 1418.)); gernotbelger@9567: segments.add(new Segment("Mainz", 496.7, 529.1, 1605.)); gernotbelger@9567: segments.add(new Segment("Kaub", 529.2, 585.7, 1659.)); gernotbelger@9567: segments.add(new Segment("Koblenz", 585.8, 592.3, 1715.)); gernotbelger@9567: segments.add(new Segment("Andernach", 592.4, 621, 2030.)); gernotbelger@9567: gernotbelger@9567: final String fixChoice = "state.bundu.wst.fix.auto"; gernotbelger@9567: gernotbelger@9567: final String calcChoice = "state.bundu.wst.calc.manual"; gernotbelger@9567: gernotbelger@9567: final String abflussklasseFrom = "0"; // map.get(mnq); gernotbelger@9567: final String abflussklasseTo = "3";// map.get(hq5); gernotbelger@9567: gernotbelger@9567: final int[] events = new int[] { 1524, 1523, 1522, 1521, 1520, 1519, 1518, 1393, 1392, 1391, 1390, 1389, 1388, 1387, 1311, 1302, 1301, 1300, 1299, 1298, gernotbelger@9567: 1297, 1296, 1397, 1396, 1395, 1532, 1531, 1530, 1529, 1528, 1527, 1526, 1525, 1566, 1565, 1564, 1563, 1540, 1539, 1538, 1537, 1536, 1535, 1534, gernotbelger@9567: 1533, 1494, 1493, 1492, 1491, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555, 1407, 1406, 1405, 1404, 1440, 1441, 1442, 1443, 1567, 1568, 1569, gernotbelger@9567: 1570, 1500, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1498, 1362, 1398, 1399, 1400, 1444, 1445, 1446, 1401, 1402, 1403, 1363, 1447, 1448, gernotbelger@9567: 1449, 1364, 1501, 1365, 1367, 1368, 1369, 1366, 1370, 1371, 1495, 1496, 1497, 1295, 1408, 1409, 1410, 1490, 1360, 1422, 1428, 1411, 1412, 1413, gernotbelger@9567: 1437, 1438, 1439, 1450, 1361, 1424, 1431, 1423, 1432, 1433, 1503, 1504, 1505, 1506, 1507, 1499, 1429, 1430, 1571, 1572, 1573, 1434, 1435, 1427, gernotbelger@9567: 1436, 1307, 1303, 1304, 1305, 1308, 1508, 1509, 1510, 1511, 1512, 1309, 1574, 1575, 1576, 1577, 1578, 1579, 1310, 1314, 1315, 1372, 1373, 1374, gernotbelger@9567: 1375, 1376, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588 gernotbelger@9567: gernotbelger@9567: }; gernotbelger@9567: gernotbelger@9567: // --> Debug at ParameterMatrixPanel.getData gernotbelger@9567: final String sounding = "single-83"; // 2006 gernotbelger@9567: gernotbelger@9567: final boolean preprocessing = true; gernotbelger@9567: final boolean missingVolume = true; gernotbelger@9567: gernotbelger@9570: new BunduBezugswstRunner(super.testFolder, 336.2, 621., 100, River.Rhein, 2010, fixChoice, "log-linear", abflussklasseFrom, abflussklasseTo, events, 10, gernotbelger@9570: segments, calcChoice, preprocessing, missingVolume, 400., 401., sounding)// gernotbelger@9567: .addOutputTest(this.BEZUGSWST_02_FILE, BUNDU_WST_DEFAULT_EXPORT_MODE, null) // gernotbelger@9567: .addOutputTest(this.BEZUGSWST_02_CHART_FILE, BUNDU_WSPL_LONGITUDINAL_SECTION_MODE, null) // longitudinal_section, no currentKM gernotbelger@9567: .runTest(); gernotbelger@9567: } gernotbelger@9567: gernotbelger@9567: @Test gernotbelger@9567: public void testBezugswst03() throws ServerException, IOException { gernotbelger@9567: /* WQ-Input */ gernotbelger@9567: final List segments = new ArrayList(); gernotbelger@9567: gernotbelger@9567: segments.add(new Segment("Worms", 428.2, 496.6, 487.)); gernotbelger@9567: segments.add(new Segment("Mainz", 496.7, 529.2, 583.)); gernotbelger@9567: gernotbelger@9567: final String fixChoice = BunduBerechnungsartenTester.BUNDU_BEZUGSWST_AUTO_FIX_CHOICE; gernotbelger@9567: final String calcChoice = "state.bundu.wst.calc.manual"; gernotbelger@9567: gernotbelger@9567: final String abflussklasseFrom = "0"; // map.get(mnq); gernotbelger@9567: final String abflussklasseTo = "3";// map.get(hq5); gernotbelger@9567: gernotbelger@9567: // FIXME auto auswahl? gernotbelger@9567: // --> get ids by debugging FixCalculation line 73 (constructor) gernotbelger@9567: final int[] events = new int[] { 1440, 1569, 1570, 1543, 1544, 1545, 1399, 1400, 1444, 1402, 1403, 1368, 1369, 1496, 1497, 1409, 1410, 1428, 1412, 1413, gernotbelger@9567: 1437, 1424, 1431, 1504, 1505, 1429, 1572, 1573, 1434, 1427, 1304, 1305, 1509, 1510, 1575, 1576, 1578, 1579, 1315, 1373, 1374, 1581, 1582, 1584, gernotbelger@9567: 1585, 1587, 1588, 1590, 1591, 1514, 1515, 1415, 1416 }; gernotbelger@9567: gernotbelger@9567: // --> Debug at ParameterMatrixPanel.getData gernotbelger@9567: final String sounding = "single-103"; // gernotbelger@9567: gernotbelger@9567: final boolean preprocessing = true; gernotbelger@9567: final boolean missingVolume = true; gernotbelger@9567: gernotbelger@9570: new BunduBezugswstRunner(super.testFolder, 430., 500., 100, River.Rhein, 2014, fixChoice, "log-linear", abflussklasseFrom, abflussklasseTo, events, 40, gernotbelger@9570: segments, calcChoice, preprocessing, missingVolume, 430., 480., sounding)// gernotbelger@9567: .addOutputTest(this.BEZUGSWST_03_FILE, BUNDU_WST_DEFAULT_EXPORT_MODE, null) // gernotbelger@9567: // .addOutputTest(this.BEZUGSWST_02_CHART_FILE, BUNDU_WSPL_LONGITUDINAL_SECTION_MODE, null) // longitudinal_section, no gernotbelger@9567: // currentKM gernotbelger@9567: .runTest(); gernotbelger@9439: } gernotbelger@9439: }