package org.openmrs.module.reporting.dataset.definition.evaluator;
import org.junit.Before;
import org.junit.Test;
import org.openmrs.module.reporting.common.TestUtil;
import org.openmrs.test.BaseContextSensitiveTest;
import org.openmrs.test.BaseModuleContextSensitiveTest;
public class PersonDataSetEvaluatorTest extends BaseModuleContextSensitiveTest {
protected static final String XML_DATASET_PATH = "org/openmrs/module/reporting/include/";
protected static final String XML_REPORT_TEST_DATASET = "ReportTestDataset";
/**
* Run this before each unit test in this class. The "@Before" method in
* {@link BaseContextSensitiveTest} is run right before this method.
*
* @throws Exception
*/
@Before
public void setup() throws Exception {
executeDataSet(XML_DATASET_PATH + new TestUtil().getTestDatasetFilename(XML_REPORT_TEST_DATASET));
}
@Test
public void evaluate_shouldEvaluateDataSetDefinition() throws Exception {
/*
RowPerPersonDataSetDefinition d = new RowPerPersonDataSetDefinition();
d.addColumnDefinition(new PersonIdColumnDefinition("Person ID"));
d.addColumnDefinition(new GenderColumnDefinition("Sexe"));
d.addColumnDefinition(new AgeColumnDefinition("Age"));
EvaluationContext context = new EvaluationContext();
RowPerObjectDataSet dataset = (RowPerObjectDataSet)Context.getService(DataSetDefinitionService.class).evaluate(d, context);
Assert.assertEquals("M", dataset.getColumnValue(2, "Sexe"));
Assert.assertEquals("F", dataset.getColumnValue(7, "Sexe"));
Assert.assertEquals(13, dataset.getRows().size());
PersonEvaluationContext pec = new PersonEvaluationContext();
PersonQueryResult personQuery = new PersonQueryResult();
personQuery.add(2,6,8,501);
pec.setBasePersons(personQuery);
dataset = (RowPerObjectDataSet)Context.getService(DataSetDefinitionService.class).evaluate(d, pec);
Assert.assertEquals("M", dataset.getColumnValue(2, "Sexe"));
Assert.assertNull(dataset.getColumnValue(7, "Sexe"));
Assert.assertEquals(4, dataset.getRows().size());
*/
}
}