blob: 67d29be977071381f4819418051e82789e0fd6ee [file] [log] [blame]
package org.eclipse.epsilon.emc.spreadsheets.excel;
import static org.junit.Assert.assertEquals;
import org.eclipse.epsilon.emc.spreadsheets.test.SharedTestMethods;
import org.eclipse.epsilon.eol.EolModule;
import org.junit.Test;
public class ExcelEolTests {
@Test
public void testNumberOfRows() throws Exception {
assertEval("Student.all.size()", 10);
assertEval("Team.all.size()", 2);
}
@Test
public void testColumnTypes() throws Exception {
assertEval("Student.all.first().mark", 26);
assertEval("Student.all.second().mark", 0);
assertEval("Student.all.third().mark", 0);
assertEval("Student.all.first().average", 51.2d);
assertEval("Student.all.second().average", 0.0d);
assertEval("Student.all.first().repeatsYear", true);
assertEval("Student.all.second().repeatsYear", false);
assertEval("Student.all.third().repeatsYear", false);
assertEval("Student.all.fourth().repeatsYear", false);
}
@Test
public void testTeam() throws Exception {
assertEval("Student.all.first().team.isTypeOf(Team)", true);
assertEval("Student.all.second().team", null);
}
@Test
public void testConflicts() throws Exception {
assertEval("Student.all.first().conflicts.firstName.second()", "Suzanna");
assertEval("Student.all.second().conflicts.size()", 1);
assertEval("Student.all.third().conflicts.isEmpty()", true);
assertEval("Student.all.fourth().conflicts.size()", 0);
}
protected void assertEval(String expression, Object result) throws Exception {
ExcelModel model = new ExcelModel();
model.setSpreadsheetFile(SharedTestMethods.getBasePath() + "resources/excel/Teams.xlsx");
model.setConfigurationFile(SharedTestMethods.getBasePath() + "resources/excel/Teams.config.xml");
model.load();
EolModule module = new EolModule();
module.parse("return " + expression + ";");
module.getContext().getModelRepository().addModel(model);
assertEquals(result, module.execute());
}
}