/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.dataprocess.common.codec;
import net.codjo.dataprocess.common.model.ArgList;
import net.codjo.dataprocess.common.model.ArgModel;
import net.codjo.dataprocess.common.model.ResultTable;
import net.codjo.dataprocess.common.model.TreatmentModel;
import net.codjo.test.common.PathUtil;
import net.codjo.test.common.XmlUtil;
import net.codjo.util.file.FileUtil;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import static net.codjo.test.common.matcher.JUnitMatchers.*;
/**
*
*/
public class TreatmentModelCodecTest {
@Test
public void encode() throws Exception {
ArgList argList = new ArgList();
List<ArgModel> args = new ArrayList<ArgModel>();
TreatmentModel trtModel = new TreatmentModel();
trtModel.setId("monTraitement1");
trtModel.setTitle("titre du traitement");
trtModel.setTarget("net.codjo.Maclasse");
trtModel.setGuiTarget("net.codjo.palanoob");
trtModel.setComment("pioupiou n'aime plus les pommes et les �clairs aux chocolats");
trtModel.setResultTable(new ResultTable("MA_TABLE", "selectAllPeriod"));
trtModel.setType("le troisi�me type");
args.add(new ArgModel("periode", "200611", 1, 12));
args.add(new ArgModel("typestock", "HB2", 2, 12));
args.add(new ArgModel("codePortefeuille", "HB3", 3, 12));
argList.setArgs(args);
trtModel.setArguments(argList);
String expected = FileUtil.loadContent(toFile("TreatmentModelTest.xml"));
String str = TreatmentModelCodec.encode(trtModel);
XmlUtil.assertEquals(expected, str);
}
@Test
public void decode() throws Exception {
String content = FileUtil.loadContent(toFile("TreatmentModelTest.xml"));
TreatmentModel treatmentModel = TreatmentModelCodec.decode(content);
assertTreatmentModel(treatmentModel);
}
@Test
public void decodeFromResources() {
TreatmentModel treatmentModel = TreatmentModelCodec.decodeFromResources("TreatmentModelTest.xml");
assertTreatmentModel(treatmentModel);
}
private static void assertTreatmentModel(TreatmentModel treatmentModel) {
assertThat("monTraitement1", equalTo(treatmentModel.getId()));
assertThat("pioupiou n'aime plus les pommes et les �clairs aux chocolats",
equalTo(treatmentModel.getComment()));
assertThat("titre du traitement", equalTo(treatmentModel.getTitle()));
assertThat("le troisi�me type", equalTo(treatmentModel.getType()));
assertThat("net.codjo.Maclasse", equalTo(treatmentModel.getTarget()));
assertThat("net.codjo.palanoob", equalTo(treatmentModel.getGuiTarget()));
}
private static File toFile(String resourceName) {
return new File(PathUtil.findResourcesFileDirectory(TreatmentModelCodecTest.class), resourceName);
}
}