diff options
author | Danny Mui <dmui@apache.org> | 2003-03-06 20:41:17 +0000 |
---|---|---|
committer | Danny Mui <dmui@apache.org> | 2003-03-06 20:41:17 +0000 |
commit | 9a7877deb78da7158f40965f08d45c5803f34505 (patch) | |
tree | ecf404a993bff6270b43d205872bbf8498eeaa27 /src/testcases/org/apache/poi/hssf | |
parent | 9c9e919a7f4c7244a1b37398924e6c43ab726694 (diff) | |
download | poi-9a7877deb78da7158f40965f08d45c5803f34505.tar.gz poi-9a7877deb78da7158f40965f08d45c5803f34505.zip |
Print Area Patch
RFE Bug #14089
Also Includes Name Reference refactoring to support references of the form: Sheet1!$A$1:$B$4 instead of Sheet1.$A$1:$B$4
PR:
Bug #9632
Bug #16411
Bug #16315
Bug #13775 (1.5 Bug)
Submitted by:
testMultiNamedRange (TestNamedRange.java) Test Case Submitted by czhang@cambian.com (Chun Zhang)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353021 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases/org/apache/poi/hssf')
-rw-r--r-- | src/testcases/org/apache/poi/hssf/HSSFTests.java | 2 | ||||
-rwxr-xr-x | src/testcases/org/apache/poi/hssf/data/SimpleWithPrintArea.xls | bin | 0 -> 18432 bytes | |||
-rwxr-xr-x | src/testcases/org/apache/poi/hssf/data/namedinput.xls | bin | 0 -> 13824 bytes | |||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java | 2 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java | 402 | ||||
-rw-r--r-- | src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java | 43 | ||||
-rwxr-xr-x | src/testcases/org/apache/poi/hssf/util/TestRangeAddress.java | 81 |
7 files changed, 509 insertions, 21 deletions
diff --git a/src/testcases/org/apache/poi/hssf/HSSFTests.java b/src/testcases/org/apache/poi/hssf/HSSFTests.java index 6882169e66..ca43bfdb3a 100644 --- a/src/testcases/org/apache/poi/hssf/HSSFTests.java +++ b/src/testcases/org/apache/poi/hssf/HSSFTests.java @@ -63,6 +63,7 @@ import org.apache.poi.hssf.usermodel.TestWorkbook; import org.apache.poi.hssf.util.TestAreaReference; import org.apache.poi.hssf.util.TestCellReference; import org.apache.poi.hssf.util.TestRKUtil; +import org.apache.poi.hssf.util.TestRangeAddress; import org.apache.poi.hssf.util.TestSheetReferences; /** @@ -144,6 +145,7 @@ public class HSSFTests suite.addTest(new TestSuite(TestRowRecordsAggregate.class)); suite.addTest(new TestSuite(TestAreaReference.class)); suite.addTest(new TestSuite(TestCellReference.class)); + suite.addTest(new TestSuite(TestRangeAddress.class)); suite.addTest(new TestSuite(TestRKUtil.class)); suite.addTest(new TestSuite(TestSheetReferences.class)); diff --git a/src/testcases/org/apache/poi/hssf/data/SimpleWithPrintArea.xls b/src/testcases/org/apache/poi/hssf/data/SimpleWithPrintArea.xls Binary files differnew file mode 100755 index 0000000000..0434dbcc82 --- /dev/null +++ b/src/testcases/org/apache/poi/hssf/data/SimpleWithPrintArea.xls diff --git a/src/testcases/org/apache/poi/hssf/data/namedinput.xls b/src/testcases/org/apache/poi/hssf/data/namedinput.xls Binary files differnew file mode 100755 index 0000000000..115fcd5908 --- /dev/null +++ b/src/testcases/org/apache/poi/hssf/data/namedinput.xls diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java index 5953c7d481..f81bd5a765 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFCell.java @@ -232,7 +232,7 @@ extends TestCase { throws java.io.IOException { String readFilename = System.getProperty("HSSF.testdata.path"); - File file = File.createTempFile("testBoolErr",".xls"); + File file = File.createTempFile("testFormulaStyle",".xls"); FileOutputStream out = new FileOutputStream(file); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet s = wb.createSheet("Sheet1"); diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java b/src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java index 3f76ec7ba3..d7f4f5f444 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestNamedRange.java @@ -1,27 +1,75 @@ -/* - * RangeTestTest.java - * NetBeans JUnit based test + +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" and + * "Apache POI" must not be used to endorse or promote products + * derived from this software without prior written permission. For + * written permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * "Apache POI", nor may "Apache" appear in their name, without + * prior written permission of the Apache Software Foundation. * - * Created on April 21, 2002, 6:23 PM + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. */ package org.apache.poi.hssf.usermodel; -import junit.framework.*; - -import org.apache.poi.poifs.filesystem.POIFSFileSystem; - import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; +import junit.framework.TestCase; + +import org.apache.poi.poifs.filesystem.POIFSFileSystem; + /** * * @author ROMANL * @author Andrew C. Oliver (acoliver at apache dot org) + * @author Danny Mui (danny at muibros.com) */ public class TestNamedRange extends TestCase { @@ -67,9 +115,9 @@ public class TestNamedRange filename = filename + "/Simple.xls"; - fis = new FileInputStream(filename); - fs = new POIFSFileSystem(fis); - wb = new HSSFWorkbook(fs); + fis = new FileInputStream(filename); + fs = new POIFSFileSystem(fis); + wb = new HSSFWorkbook(fs); //Creating new Named Range @@ -81,7 +129,7 @@ public class TestNamedRange //Setting its name newNamedRange.setNameName("RangeTest"); //Setting its reference - newNamedRange.setReference(sheetName + ".$D$4:$E$8"); + newNamedRange.setReference(sheetName + "!$D$4:$E$8"); //Getting NAmed Range HSSFName namedRange1 = wb.getNameAt(0); @@ -108,10 +156,336 @@ public class TestNamedRange wb = new HSSFWorkbook(in); HSSFName nm =wb.getNameAt(wb.getNameIndex("RangeTest")); assertTrue("Name is "+nm.getNameName(),"RangeTest".equals(nm.getNameName())); - assertTrue("Reference is "+nm.getReference(),(wb.getSheetName(0)+"!$D$4:$E$8").equals(nm.getReference())); + assertEquals(wb.getSheetName(0)+"!$D$4:$E$8", nm.getReference()); + + } + + /** + * Reads an excel file already containing a named range. + * <p> + * Addresses Bug <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9632" target="_bug">#9632</a> + */ + public void testNamedRead() throws IOException + { + FileInputStream fis = null; + POIFSFileSystem fs = null; + HSSFWorkbook wb = null; + + String filename = System.getProperty("HSSF.testdata.path"); + + filename = filename + "/namedinput.xls"; + + + fis = new FileInputStream(filename); + fs = new POIFSFileSystem(fis); + wb = new HSSFWorkbook(fs); + + //Get index of the namedrange with the name = "NamedRangeName" , which was defined in input.xls as A1:D10 + int NamedRangeIndex = wb.getNameIndex("NamedRangeName"); + + //Getting NAmed Range + HSSFName namedRange1 = wb.getNameAt(NamedRangeIndex); + String sheetName = wb.getSheetName(0); + + //Getting its reference + String reference = namedRange1.getReference(); + + fis.close(); + + assertEquals(sheetName+"!$A$1:$D$10", reference); + + HSSFName namedRange2 = wb.getNameAt(1); + + assertEquals(sheetName+"!$D$17:$G$27", namedRange2.getReference()); + assertEquals("SecondNamedRange", namedRange2.getNameName()); + + } + /** + * Reads an excel file already containing a named range and updates it + * <p> + * Addresses Bug <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16411" target="_bug">#16411</a> + */ + public void testNamedReadModify() throws IOException + { + FileInputStream fis = null; + POIFSFileSystem fs = null; + HSSFWorkbook wb = null; + + String filename = System.getProperty("HSSF.testdata.path"); + + filename = filename + "/namedinput.xls"; + + + fis = new FileInputStream(filename); + fs = new POIFSFileSystem(fis); + wb = new HSSFWorkbook(fs); + + + HSSFName name = wb.getNameAt(0); + String sheetName = wb.getSheetName(0); + + assertEquals(sheetName+"!$A$1:$D$10", name.getReference()); + + name = wb.getNameAt(1); + String newReference = sheetName +"!$A$1:$C$36"; + + name.setReference(newReference); + assertEquals(newReference, name.getReference()); + } + /** + * Test that multiple named ranges can be added written and read + */ + public void testMultipleNamedWrite() + throws IOException + { + HSSFWorkbook wb = new HSSFWorkbook(); + + + HSSFSheet sheet = wb.createSheet("Sheet1"); + String sheetName = wb.getSheetName(0); + + assertEquals("Sheet1", sheetName); + + //Creating new Named Range + HSSFName newNamedRange = wb.createName(); + + newNamedRange.setNameName("RangeTest"); + newNamedRange.setReference(sheetName + "!$D$4:$E$8"); + + //Creating another new Named Range + HSSFName newNamedRange2 = wb.createName(); + + newNamedRange2.setNameName("AnotherTest"); + newNamedRange2.setReference(sheetName + "!$F$1:$G$6"); + + + HSSFName namedRange1 = wb.getNameAt(0); + String referece = namedRange1.getReference(); + + File file = File.createTempFile("testMultiNamedRange", ".xls"); + + FileOutputStream fileOut = new FileOutputStream(file); + wb.write(fileOut); + fileOut.close(); + + + assertTrue("file exists",file.exists()); + + + FileInputStream in = new FileInputStream(file); + wb = new HSSFWorkbook(in); + HSSFName nm =wb.getNameAt(wb.getNameIndex("RangeTest")); + assertTrue("Name is "+nm.getNameName(),"RangeTest".equals(nm.getNameName())); + assertTrue("Reference is "+nm.getReference(),(wb.getSheetName(0)+"!$D$4:$E$8").equals(nm.getReference())); + + nm = wb.getNameAt(wb.getNameIndex("AnotherTest")); + assertTrue("Name is "+nm.getNameName(),"AnotherTest".equals(nm.getNameName())); + assertTrue("Reference is "+nm.getReference(),newNamedRange2.getReference().equals(nm.getReference())); + + + } + + /** + * Test case provided by czhang@cambian.com (Chun Zhang) + * <p> + * Addresses Bug <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13775" target="_bug">#13775</a> + * @throws IOException + */ + public void testMultiNamedRange() + throws IOException + { + + // Create a new workbook + HSSFWorkbook wb = new HSSFWorkbook (); + + + // Create a worksheet 'sheet1' in the new workbook + wb.createSheet (); + wb.setSheetName (0, "sheet1"); + + // Create another worksheet 'sheet2' in the new workbook + wb.createSheet (); + wb.setSheetName (1, "sheet2"); + + // Create a new named range for worksheet 'sheet1' + HSSFName namedRange1 = wb.createName(); + + // Set the name for the named range for worksheet 'sheet1' + namedRange1.setNameName("RangeTest1"); + + // Set the reference for the named range for worksheet 'sheet1' + namedRange1.setReference("sheet1" + "!$A$1:$L$41"); + + // Create a new named range for worksheet 'sheet2' + HSSFName namedRange2 = wb.createName(); + + // Set the name for the named range for worksheet 'sheet2' + namedRange2.setNameName("RangeTest2"); + + // Set the reference for the named range for worksheet 'sheet2' + namedRange2.setReference("sheet2" + "!$A$1:$O$21"); + + // Write the workbook to a file + File file = File.createTempFile("testMuiltipletNamedRanges", ".xls"); + FileOutputStream fileOut = new FileOutputStream(file); + wb.write(fileOut); + fileOut.close(); + + assertTrue("file exists",file.exists()); + + // Read the Excel file and verify its content + FileInputStream in = new FileInputStream(file); + wb = new HSSFWorkbook(in); + HSSFName nm1 =wb.getNameAt(wb.getNameIndex("RangeTest1")); + assertTrue("Name is "+nm1.getNameName(),"RangeTest1".equals(nm1.getNameName())); + assertTrue("Reference is "+nm1.getReference(),(wb.getSheetName(0)+"!$A$1:$L$41").equals(nm1.getReference())); + + HSSFName nm2 =wb.getNameAt(wb.getNameIndex("RangeTest2")); + assertTrue("Name is "+nm2.getNameName(),"RangeTest2".equals(nm2.getNameName())); + assertTrue("Reference is "+nm2.getReference(),(wb.getSheetName(1)+"!$A$1:$O$21").equals(nm2.getReference())); + } + + + /** + * Test to see if the print areas can be retrieved/created in memory + */ + public void testSinglePrintArea() + { + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFSheet sheet = workbook.createSheet("Test Print Area"); + String sheetName = workbook.getSheetName(0); + + String reference = sheetName+"!$A$1:$B$1"; + workbook.setPrintArea(0, reference); + + String retrievedPrintArea = workbook.getPrintArea(0); + + assertNotNull("Print Area not defined for first sheet", retrievedPrintArea); + assertEquals(reference, retrievedPrintArea); + + } + + /** + * Test to see if the print area can be retrieved from an excel created file + */ + public void testPrintAreaFileRead() + throws IOException + { + FileInputStream fis = null; + POIFSFileSystem fs = null; + HSSFWorkbook workbook = null; + + String filename = System.getProperty("HSSF.testdata.path"); + + filename = filename + "/SimpleWithPrintArea.xls"; + + try { + + fis = new FileInputStream(filename); + fs = new POIFSFileSystem(fis); + workbook = new HSSFWorkbook(fs); + + String sheetName = workbook.getSheetName(0); + String reference = sheetName+"!$A$1:$C$5"; + + assertEquals(reference, workbook.getPrintArea(0)); + + } finally { + fis.close(); + + } + + + + } + + + /** + * Test to see if the print area made it to the file + */ + public void testPrintAreaFile() + throws IOException + { + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFSheet sheet = workbook.createSheet("Test Print Area"); + String sheetName = workbook.getSheetName(0); + + + String reference = sheetName+"!$A$1:$B$1"; + workbook.setPrintArea(0, reference); + + File file = File.createTempFile("testPrintArea",".xls"); + + FileOutputStream fileOut = new FileOutputStream(file); + workbook.write(fileOut); + fileOut.close(); + + assertTrue("file exists",file.exists()); + + FileInputStream in = new FileInputStream(file); + workbook = new HSSFWorkbook(in); + + String retrievedPrintArea = workbook.getPrintArea(0); + assertNotNull("Print Area not defined for first sheet", retrievedPrintArea); + assertEquals("References Match", reference, retrievedPrintArea); + + } + + /** + * Test to see if multiple print areas made it to the file + */ + public void testMultiplePrintAreaFile() + throws IOException + { + HSSFWorkbook workbook = new HSSFWorkbook(); + + HSSFSheet sheet = workbook.createSheet("Sheet 1"); + sheet = workbook.createSheet("Sheet 2"); + sheet = workbook.createSheet("Sheet 3"); + + String sheetName = workbook.getSheetName(0); + String reference = null; + + reference = sheetName+"!$A$1:$B$1"; + workbook.setPrintArea(0, reference); + + sheetName = workbook.getSheetName(1); + String reference2 = sheetName+"!$B$2:$D$5"; + workbook.setPrintArea(1, reference2); + + sheetName = workbook.getSheetName(2); + String reference3 = sheetName+"!$D$2:$F$5"; + workbook.setPrintArea(2, reference3); + + File file = File.createTempFile("testMultiPrintArea",".xls"); + + FileOutputStream fileOut = new FileOutputStream(file); + workbook.write(fileOut); + fileOut.close(); + + assertTrue("file exists",file.exists()); + + FileInputStream in = new FileInputStream(file); + workbook = new HSSFWorkbook(in); + + String retrievedPrintArea = workbook.getPrintArea(0); + assertNotNull("Print Area Not Found (Sheet 1)", retrievedPrintArea); + assertEquals(reference, retrievedPrintArea); + + String retrievedPrintArea2 = workbook.getPrintArea(1); + assertNotNull("Print Area Not Found (Sheet 2)", retrievedPrintArea2); + assertEquals(reference2, retrievedPrintArea2); + + String retrievedPrintArea3 = workbook.getPrintArea(2); + assertNotNull("Print Area Not Found (Sheet 3)", retrievedPrintArea3); + assertEquals(reference3, retrievedPrintArea3); + + + } + } diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java b/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java index 845e49b44b..9a0f4f8da5 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java @@ -55,19 +55,21 @@ package org.apache.poi.hssf.usermodel; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Iterator; -import java.util.*; +import junit.framework.TestCase; -import junit.framework.*; - -import org.apache.poi.poifs.filesystem.POIFSFileSystem; -import org.apache.poi.hssf.util.*; import org.apache.poi.hssf.model.Workbook; import org.apache.poi.hssf.record.BackupRecord; import org.apache.poi.hssf.record.LabelSSTRecord; import org.apache.poi.hssf.record.Record; import org.apache.poi.hssf.record.aggregates.ValueRecordsAggregate; +import org.apache.poi.hssf.util.Region; +import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * Class to test Workbook functionality @@ -720,6 +722,35 @@ public class TestWorkbook file.deleteOnExit(); } + /** + * Generate a file to visually/programmatically verify repeating rows and cols made it + */ + public void testRepeatingColsRows() throws IOException + { + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFSheet sheet = workbook.createSheet("Test Print Titles"); + String sheetName = workbook.getSheetName(0); + + HSSFRow row = sheet.createRow(0); + + HSSFCell cell = row.createCell((short)1); + cell.setCellValue("hi"); + + + workbook.setRepeatingRowsAndColumns(0, 0, 1, 0, 0); + + File file = File.createTempFile("testPrintTitles",".xls"); + + FileOutputStream fileOut = new FileOutputStream(file); + workbook.write(fileOut); + fileOut.close(); + + assertTrue("file exists",file.exists()); + + + } + + public static void main(String [] ignored_args) { String filename = System.getProperty("HSSF.testdata.path"); diff --git a/src/testcases/org/apache/poi/hssf/util/TestRangeAddress.java b/src/testcases/org/apache/poi/hssf/util/TestRangeAddress.java new file mode 100755 index 0000000000..9c9280d6d6 --- /dev/null +++ b/src/testcases/org/apache/poi/hssf/util/TestRangeAddress.java @@ -0,0 +1,81 @@ +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" and + * "Apache POI" must not be used to endorse or promote products + * derived from this software without prior written permission. For + * written permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * "Apache POI", nor may "Apache" appear in their name, without + * prior written permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + */ + +package org.apache.poi.hssf.util; + +import junit.framework.TestCase; + +/** + * Tests the Range Address Utility Functionality + * @author Danny Mui (danny at muibros.com) + */ +public class TestRangeAddress extends TestCase { + public TestRangeAddress(String s) { + super(s); + } + + public static void main(java.lang.String[] args) { + junit.textui.TestRunner.run(TestRangeAddress.class); + } + + + + public void testReferenceParse() { + String reference = "Sheet2!$A$1:$C$3"; + RangeAddress ra = new RangeAddress(reference); + + assertEquals("Sheet2!A1:C3", ra.getAddress()); + + } +}
\ No newline at end of file |