package net.codjo.dataprocess.common.report;
import org.junit.Test;
import static net.codjo.test.common.matcher.JUnitMatchers.*;
/**
*
*/
public class OperationReportTest {
@Test
public void testEncodeDecode() throws Exception {
OperationReport report = new OperationReport();
report.addTreatmentReport(new TreatmentReport("trt1", "res1", "err1"));
report.addTreatmentReport(new TreatmentReport("trt2", "res2", "err2"));
report.addTreatmentReport(new TreatmentReport("trt3", "res3", null));
String result = OperationReport.encode(report);
assertThat(result,
equalTo(
"<operationReport>\n"
+ " <treatmentReports>\n"
+ " <treatmentReport>\n"
+ " <treatmentId>trt1</treatmentId>\n"
+ " <result>res1</result>\n"
+ " <errorMessage>err1</errorMessage>\n"
+ " </treatmentReport>\n"
+ " <treatmentReport>\n"
+ " <treatmentId>trt2</treatmentId>\n"
+ " <result>res2</result>\n"
+ " <errorMessage>err2</errorMessage>\n"
+ " </treatmentReport>\n"
+ " <treatmentReport>\n"
+ " <treatmentId>trt3</treatmentId>\n"
+ " <result>res3</result>\n"
+ " </treatmentReport>\n"
+ " </treatmentReports>\n"
+ "</operationReport>"));
OperationReport report1 = OperationReport.decode(result);
assertThat(report1.getTreatmentReports().size(), equalTo(3));
assertThat(report1.toString(),
equalTo("Traitement(s) OK : \n"
+ "\ttrt3: ok\n"
+ "Traitement(s) en erreur : \n"
+ "\ttrt1: err1\n"
+ "\ttrt2: err2\n"));
OperationReport report2 = new OperationReport();
report2.addTreatmentReport(new TreatmentReport("trt1", "res1", null));
report2.addTreatmentReport(new TreatmentReport("trt2", "res2", null));
assertThat(report2.toString(), equalTo("Traitement(s) OK : \n"
+ "\ttrt1: ok\n"
+ "\ttrt2: ok\n"
+ "Traitement(s) en erreur : \n"));
report2 = new OperationReport();
report2.addTreatmentReport(new TreatmentReport("trt1", "res1", "err1"));
report2.addTreatmentReport(new TreatmentReport("trt2", "res2", "err2"));
assertThat(report2.toString(), equalTo("Traitement(s) OK : \n"
+ "Traitement(s) en erreur : \n"
+ "\ttrt1: err1\n"
+ "\ttrt2: err2\n"));
}
@Test
public void addTreatmentReport() throws Exception {
OperationReport report = new OperationReport();
assertThat(report.isError(), equalTo(false));
report.addTreatmentReport(new TreatmentReport("trt1", "res1", "err1"));
report.addTreatmentReport(new TreatmentReport("trt1", "res1", null));
assertThat(report.isError(), equalTo(true));
report = new OperationReport();
report.addTreatmentReport(new TreatmentReport("trt1", "res1", null));
assertThat(report.isError(), equalTo(false));
}
}