}
public void testStringConstructor() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( fixture ) ;
+ assertNotNull(fixture);
}
public void testLoadNotExistingFile() {
try {
- assertNotNull(new ExcelAntWorkbookUtilTestHelper(
+ assertNotNull(new ExcelAntWorkbookUtilTestHelper(
"notexistingFile" ));
fail("Should catch exception here");
} catch (BuildException e) {
FileInputStream fis = new FileInputStream(workbookFile);
Workbook workbook = WorkbookFactory.create(fis);
- fixture = new ExcelAntWorkbookUtilTestHelper( workbook ) ;
-
- assertNotNull( fixture ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(workbook);
+ assertNotNull(fixture);
}
public void testAddFunction() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( fixture ) ;
+ assertNotNull(fixture);
- fixture.addFunction("h2_ZFactor", new CalculateMortgageFunction() ) ;
+ fixture.addFunction("h2_ZFactor", new CalculateMortgageFunction());
- UDFFinder functions = fixture.getFunctions() ;
+ UDFFinder functions = fixture.getFunctions();
- assertNotNull( functions ) ;
+ assertNotNull(functions);
+ assertNotNull(functions.findFunction("h2_ZFactor"));
}
+ public void testAddFunctionClassName() throws Exception {
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ assertNotNull(fixture);
+
+ fixture.addFunction("h2_ZFactor", CalculateMortgageFunction.class.getName());
+
+ UDFFinder functions = fixture.getFunctions();
+
+ assertNotNull(functions);
+ assertNotNull(functions.findFunction("h2_ZFactor"));
+ }
+
+ public void testAddFunctionInvalidClassName() throws Exception {
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ assertNotNull(fixture);
+
+ fixture.addFunction("h2_ZFactor", String.class.getName());
+
+ UDFFinder functions = fixture.getFunctions();
+
+ assertNotNull(functions);
+ assertNull(functions.findFunction("h2_ZFactor"));
+ }
+
public void testGetWorkbook() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( fixture ) ;
+ assertNotNull(fixture);
- Workbook workbook = fixture.getWorkbook() ;
+ Workbook workbook = fixture.getWorkbook();
- assertNotNull( workbook ) ;
+ assertNotNull(workbook);
}
public void testFileName() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( fixture ) ;
+ assertNotNull(fixture);
- String fileName = fixture.getFileName() ;
+ String fileName = fixture.getFileName();
- assertNotNull( fileName ) ;
+ assertNotNull(fileName);
- assertEquals( mortgageCalculatorFileName, fileName ) ;
+ assertEquals(mortgageCalculatorFileName, fileName);
}
public void testGetEvaluator() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
-
- FormulaEvaluator evaluator = fixture.getEvaluator(
- mortgageCalculatorFileName ) ;
-
- assertNotNull( evaluator ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+ FormulaEvaluator evaluator = fixture.getEvaluator(
+ mortgageCalculatorFileName);
+ assertNotNull(evaluator);
}
+ public void testGetEvaluatorWithUDF() {
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ fixture.addFunction("h2_ZFactor", new CalculateMortgageFunction());
+
+ FormulaEvaluator evaluator = fixture.getEvaluator(
+ mortgageCalculatorFileName);
+
+ assertNotNull(evaluator);
+ }
+
public void testGetEvaluatorXLSX() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx") ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx");
- FormulaEvaluator evaluator = fixture.getEvaluator(
- BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx" ) ;
+ FormulaEvaluator evaluator = fixture.getEvaluator(
+ BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx");
- assertNotNull( evaluator ) ;
+ assertNotNull(evaluator);
}
+ public void testGetEvaluatorXLSXWithFunction() {
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx");
+
+ fixture.addFunction("h2_ZFactor", new CalculateMortgageFunction());
+
+ FormulaEvaluator evaluator = fixture.getEvaluator(
+ BuildFileTest.getDataDir() + "/spreadsheet/sample.xlsx");
+
+ assertNotNull(evaluator);
+ }
+
public void testEvaluateCell() {
String cell = "'MortgageCalculator'!B4" ;
double expectedValue = 790.79 ;
double precision = 0.1 ;
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- ExcelAntEvaluationResult result = fixture.evaluateCell( cell,
+ ExcelAntEvaluationResult result = fixture.evaluateCell(cell,
expectedValue,
- precision ) ;
-
- System.out.println( result ) ;
-
- assertTrue( result.didTestPass() ) ;
+ precision);
+
+ //System.out.println(result);
+ assertTrue(result.toString().contains("evaluationCompletedWithError=false"));
+ assertTrue(result.toString().contains("returnValue=790.79"));
+ assertTrue(result.toString().contains("cellName='MortgageCalculator'!B4"));
+
+ assertFalse(result.evaluationCompleteWithError());
+ assertTrue(result.didTestPass());
}
+ public void testEvaluateCellFailedPrecision() {
+ String cell = "'MortgageCalculator'!B4" ;
+ double expectedValue = 790.79 ;
+ double precision = 0.0000000000001 ;
+
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ ExcelAntEvaluationResult result = fixture.evaluateCell(cell,
+ expectedValue,
+ precision);
+
+ //System.out.println(result);
+ assertTrue(result.toString().contains("evaluationCompletedWithError=false"));
+ assertTrue(result.toString().contains("returnValue=790.79"));
+ assertTrue(result.toString().contains("cellName='MortgageCalculator'!B4"));
+
+ assertFalse(result.evaluationCompleteWithError());
+ assertFalse(result.didTestPass());
+ }
+
+ public void testEvaluateCellWithError() {
+ String cell = "'ErrorCell'!A1" ;
+ double expectedValue = 790.79 ;
+ double precision = 0.1 ;
+
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ ExcelAntEvaluationResult result = fixture.evaluateCell(cell,
+ expectedValue,
+ precision);
+
+ System.out.println(result);
+ assertTrue(result.toString().contains("evaluationCompletedWithError=true"));
+ assertTrue(result.toString().contains("returnValue=0.0"));
+ assertTrue(result.toString().contains("cellName='ErrorCell'!A1"));
+
+ assertTrue(result.evaluationCompleteWithError());
+ assertFalse(result.didTestPass());
+ }
+
public void testGetSheets() {
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- ArrayList<String> sheets = fixture.getSheets() ;
+ ArrayList<String> sheets = fixture.getSheets();
- assertNotNull( sheets ) ;
- assertEquals( sheets.size(), 3 ) ;
+ assertNotNull(sheets);
+ assertEquals(sheets.size(), 3);
}
public void testSetString() {
String cell = "'MortgageCalculator'!C14" ;
String cellValue = "testString" ;
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
-
- fixture.setStringValue( cell, cellValue ) ;
-
- String value = fixture.getCellAsString( cell ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( value ) ;
+ fixture.setStringValue(cell, cellValue);
- assertEquals( cellValue, value ) ;
+ String value = fixture.getCellAsString(cell);
+ assertNotNull(value);
+ assertEquals(cellValue, value);
}
+ public void testSetNotExistingSheet() {
+ String cell = "'NotexistingSheet'!C14" ;
+
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+ try {
+ fixture.setStringValue(cell, "some");
+ fail("Should catch exception here");
+ } catch (BuildException e) {
+ assertTrue(e.getMessage().contains("NotexistingSheet"));
+ }
+ }
+
+ public void testSetFormula() {
+ String cell = "'MortgageCalculator'!C14" ;
+ String cellValue = "SUM(B14:B18)" ;
+
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ fixture.setFormulaValue(cell, cellValue);
+
+ double value = fixture.getCellAsDouble(cell);
+
+ assertNotNull(value);
+ assertEquals(0.0, value);
+ }
+
+ public void testSetDoubleValue() {
+ String cell = "'MortgageCalculator'!C14" ;
+ double cellValue = 1.2;
+
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
+
+ fixture.setDoubleValue(cell, cellValue);
+
+ Double value = fixture.getCellAsDouble(cell);
+
+ assertNotNull(value);
+ assertEquals(cellValue, value);
+ }
+
public void testSetDate() {
String cell = "'MortgageCalculator'!C14" ;
Date cellValue = new Date();
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
-
- fixture.setDateValue( cell, cellValue ) ;
-
- double value = fixture.getCellAsDouble( cell ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- assertNotNull( value ) ;
+ fixture.setDateValue(cell, cellValue);
- assertEquals( DateUtil.getExcelDate(cellValue, false), value ) ;
+ double value = fixture.getCellAsDouble(cell);
+ assertNotNull(value);
+ assertEquals(DateUtil.getExcelDate(cellValue, false), value);
}
public void testGetNonexistingString() {
String cell = "'MortgageCalculator'!C33" ;
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- String value = fixture.getCellAsString( cell ) ;
+ String value = fixture.getCellAsString(cell);
- assertEquals( "", value ) ;
+ assertEquals("", value);
}
public void testGetNonexistingDouble() {
String cell = "'MortgageCalculator'!C33" ;
- fixture = new ExcelAntWorkbookUtilTestHelper(
- mortgageCalculatorFileName ) ;
+ fixture = new ExcelAntWorkbookUtilTestHelper(
+ mortgageCalculatorFileName);
- double value = fixture.getCellAsDouble( cell ) ;
+ double value = fixture.getCellAsDouble(cell);
- assertEquals( 0.0, value ) ;
+ assertEquals(0.0, value);
}
}