package org.jgrasstools.gears.modules;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import org.jgrasstools.gears.io.adige.AdigeBoundaryCondition;
import org.jgrasstools.gears.io.adige.AdigeBoundaryConditionReader;
import org.jgrasstools.gears.io.adige.AdigeBoundaryConditionWriter;
import org.jgrasstools.gears.utils.HMTestCase;
/**
* Test AdigeBoundaryConditions reader and writer.
*
* @author Andrea Antonello (www.hydrologis.com)
*/
public class TestAdigeBoundaryConditions extends HMTestCase {
public void testAdigeBoundaryConditions() throws Exception {
File tmpAbc = File.createTempFile("testadigeboundcond", ".csv");
AdigeBoundaryCondition abc1 = new AdigeBoundaryCondition();
abc1.setBasinId(1);
abc1.setDischarge(10.0);
abc1.setDischargeSub(5.0);
abc1.setS1(6.0);
abc1.setS2(7.0);
AdigeBoundaryCondition abc2 = new AdigeBoundaryCondition();
abc2.setBasinId(2);
abc2.setDischarge(20.0);
abc2.setDischargeSub(10.0);
abc2.setS1(12.0);
abc2.setS2(14.0);
HashMap<Integer, AdigeBoundaryCondition> condList = new HashMap<Integer, AdigeBoundaryCondition>();
condList.put(abc1.getBasinId(), abc1);
condList.put(abc2.getBasinId(), abc2);
AdigeBoundaryConditionWriter writer = new AdigeBoundaryConditionWriter();
writer.file = tmpAbc.getAbsolutePath();
writer.tablename = "conditions";
writer.data = condList;
writer.write();
writer.close();
AdigeBoundaryConditionReader reader = new AdigeBoundaryConditionReader();
reader.file = tmpAbc.getAbsolutePath();
reader.read();
Map<Integer, AdigeBoundaryCondition> data = reader.data;
AdigeBoundaryCondition readAbc1 = data.get(1);
assertEquals(1, readAbc1.getBasinId());
assertEquals(10.0, readAbc1.getDischarge());
assertEquals(5.0, readAbc1.getDischargeSub());
AdigeBoundaryCondition readAbc2 = data.get(2);
assertEquals(2, readAbc2.getBasinId());
assertEquals(20.0, readAbc2.getDischarge());
assertEquals(10.0, readAbc2.getDischargeSub());
reader.close();
if (tmpAbc.exists()) {
if (!tmpAbc.delete())
tmpAbc.deleteOnExit();
}
}
}