From a4e73e3dc8225a123a5e5c6c1a0c69e448485977 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Sat, 26 Jul 2014 22:39:16 +0000 Subject: [PATCH] Unit test to show that bug #52111 (intersect formulas) was already solved git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1613737 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/hssf/usermodel/TestBugs.java | 20 ++++++++++++++++++ test-data/spreadsheet/Intersection-52111.xls | Bin 0 -> 13824 bytes 2 files changed, 20 insertions(+) create mode 100644 test-data/spreadsheet/Intersection-52111.xls diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index c2b4c67ba2..de12602e40 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -2702,4 +2702,24 @@ public final class TestBugs extends BaseTestBugzillaIssues { // Optimise HSSFOptimiser.optimiseCellStyles(workbook); } + + /** + * Intersection formula ranges, eg =(C2:D3 D3:E4) + */ + @Test + public void bug52111() throws Exception { + Workbook wb = openSample("Intersection-52111.xls"); + Sheet s = wb.getSheetAt(0); + + // Check we can read it correctly + Cell intF = s.getRow(2).getCell(0); + assertEquals(Cell.CELL_TYPE_FORMULA, intF.getCellType()); + assertEquals(Cell.CELL_TYPE_NUMERIC, intF.getCachedFormulaResultType()); + + assertEquals("(C2:D3 D3:E4)", intF.getCellFormula()); + + // Check we can evaluate it correctly + FormulaEvaluator eval = wb.getCreationHelper().createFormulaEvaluator(); + assertEquals("4.0", eval.evaluate(intF).formatAsString()); + } } diff --git a/test-data/spreadsheet/Intersection-52111.xls b/test-data/spreadsheet/Intersection-52111.xls new file mode 100644 index 0000000000000000000000000000000000000000..835130e8b716c5bf6f160b6d9d5211e825be7c6e GIT binary patch literal 13824 zcmeHOTWnNS6kT`bPCMn%PFr5`XeL7%phW^SDhWadBSbzL32Gz(Q`$1bhLK_!6G5Yc zLShUin)>)5QT{X-#F*%ZVy5xO7>UM6jQU|Q{ov0>G!au6*V@BnX4;uaCGi0{XR`M> zckOe}-e;Y2=iGDW&X->_kDYvX;RQ@e8xh8pd;{uAaF69%g5wxy&*ya*13TwC zL)Ks+K4ty<(=Tee10xY{6NWK}KBV!_S=; z(&lgACAzrUX*;nUDeS>RH5%wfJ(iR#2Kvy-Vy&QzXDH?{UE{k^6lD+7#+!nYy z!lB$)$=zf+s=2LPuiSk%x@-3N33QUh3PcwhFGfGL=ap(z4xreI>;(?SFvl*h-}7Q}?nYNh%&GwyL#7E{1yXMu-50!x6esDd|C!Bo_a+Y#r=K#sdPHEM%apmGHk7| z)icVluH*3ey}bsfy&0TYoLh0pY0u|c;`#HrmdJyW<{dEVMJYhyV-FKr_pYWq>qRjT zol6NYVD8moNL~wzX{>B9of#@jbT#f<9blXd%(kUx7WE!9S-F`S>_8L~Z~gLBPye>= zUc);K?==04A=#3!+DRmrD;%L^)R!-X^sLoBYWgIlN9Y1W z7Zd%49s7jHa?Ha{Yz(#FeY>rt-)m_J+Y75tng(hf_{na5?_jC=*z)G7BwgTi{O`t9 zfdu0j|OAJOs;ka-$Tn`Nw$=6LzLkVTB=ooMeI0kM^2Ci^bkJvp{ zdHnkJA3OH?ub1w9ICko#C_0zD_w8z8Z&Gw4CVP^i8-;r)x+U60X`vjT%%VI;nN4|_ z(n@)QqJ?#wC$%wGo#3GYi&Zf#vOR+X!$Sv$_GaRnA0J4i%{TsB_I2Z{pLo^^ zSkfN8Y1vF`OMu!`nw+=MiRvnz;8&s2gSDjxU6{q{a;HZR3VYLVe`+vuus=PX$)tv@ zCHM4zytw2Ta11yG90QI4$ADwNG2j?*3^)cH12-W9+Q(~Ctevm+-+JXwFURROe*LdQ zduzS^roFfJ?ApIKQnZ1Vy_vaw^VdEwquB&4C2^~{mh4P zh$A=sG>>nO1U=I{ibth^oM~(+WaV1(AwV9a_hIZqzs0dHfTx}FA0XHKD~@TOs0UO` z5!{Ez@CZMB*7vPsVXws`B*XuG3=yfGmeaqkAzeSy^{;nj>;W0G2=1nb0gEAJBk=d) NS$7@%x2|99|6e(YavT5v literal 0 HcmV?d00001 -- 2.39.5