As described in the Formula eval guide <http://poi.apache.org/spreadsheet/eval-devguide.html>, we have a special test file FormulaEvalTestData.xls For every excel function we implement, we should populate the appropriate entries in there for those functions. This will then allow the function to be automatically tested for basic operation Looking through the file, it seems the quite a few of the recently added formula functions are missing from this. So, it needs someone to review the list of functions there are implemented (by looking at src/java/org/apache/poi/ss/formula/eval/FunctionEval.java and possibly checking IDs in src/resources/main/org/apache/poi/ss/formula/function/functionMetadata.txt). Then, for any that are not present in the file so far, add in a formula using the function and the value that should be produced
Done in r1294595 I added a warning to catch similar issues in the future. it turned out we had quite a lot of not covered functions: [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] ADDRESS: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] CHAR: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] CLEAN: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] COLUMNS: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] COUNTBLANK: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] DATE: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] DAYS360: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] FIND: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] HLOOKUP: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] HOUR: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] HYPERLINK: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] INDIRECT: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] IRR: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] LOOKUP: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] MINUTE: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] NOT: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] NOW: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] NPV: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] PI: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] POISSON: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] RAND: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] RATE: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] ROWS: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] SEARCH: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] SECOND: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] SUBTOTAL: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] TEXT: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] TIME: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] TODAY: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] TRUNC: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] VALUE: function is supported but missing test data [org.apache.poi.ss.formula.eval.TestFormulasFromSpreadsheet] VLOOKUP: function is supported but missing test data I fixed all except NOW,TODAY and RAND : these are not deterministic. Yegor