Fix indents

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1696429 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-08-18 14:34:52 +00:00
parent 3bde975db7
commit a92c078d18
2 changed files with 259 additions and 256 deletions

View File

@ -23,6 +23,10 @@ import org.apache.poi.ss.util.CellReference;
import org.apache.poi.ss.util.CellReference.NameType;
import org.apache.poi.ss.SpreadsheetVersion;
/**
* Tests for the HSSF and SS versions of CellReference.
* See also {@link org.apache.poi.ss.util.TestCellReference}
*/
public final class TestCellReference extends TestCase {
public void testColNumConversion() {
assertEquals(0, CellReference.convertColStringToIndex("A"));

View File

@ -23,274 +23,273 @@ import org.apache.poi.ss.util.CellReference;
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
/**
* Tests that the common CellReference works as we need it to.
* Note - some additional testing is also done in the HSSF class,
* {@link org.apache.poi.hssf.util.TestCellReference}
*/
public final class TestCellReference extends TestCase {
public void testConstructors() {
CellReference cellReference;
final String sheet = "Sheet1";
final String cellRef = "A1";
final int row = 0;
final int col = 0;
final boolean absRow = true;
final boolean absCol = false;
cellReference = new CellReference(row, col);
assertEquals("A1", cellReference.formatAsString());
cellReference = new CellReference(row, col, absRow, absCol);
assertEquals("A$1", cellReference.formatAsString());
cellReference = new CellReference(row, (short)col);
assertEquals("A1", cellReference.formatAsString());
cellReference = new CellReference(cellRef);
assertEquals("A1", cellReference.formatAsString());
cellReference = new CellReference(sheet, row, col, absRow, absCol);
assertEquals("Sheet1!A$1", cellReference.formatAsString());
}
public void testFormatAsString() {
CellReference cellReference;
cellReference = new CellReference(null, 0, 0, false, false);
assertEquals("A1", cellReference.formatAsString());
//absolute references
cellReference = new CellReference(null, 0, 0, true, false);
assertEquals("A$1", cellReference.formatAsString());
//sheet name with no spaces
cellReference = new CellReference("Sheet1", 0, 0, true, false);
assertEquals("Sheet1!A$1", cellReference.formatAsString());
//sheet name with spaces
cellReference = new CellReference("Sheet 1", 0, 0, true, false);
assertEquals("'Sheet 1'!A$1", cellReference.formatAsString());
}
public void testGetCellRefParts() {
CellReference cellReference;
String[] parts;
String cellRef = "A1";
cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("1", parts[1]);
assertEquals("A", parts[2]);
public void testConstructors() {
CellReference cellReference;
final String sheet = "Sheet1";
final String cellRef = "A1";
final int row = 0;
final int col = 0;
final boolean absRow = true;
final boolean absCol = false;
cellRef = "AA1";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("1", parts[1]);
assertEquals("AA", parts[2]);
cellReference = new CellReference(row, col);
assertEquals("A1", cellReference.formatAsString());
cellRef = "AA100";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("100", parts[1]);
assertEquals("AA", parts[2]);
cellReference = new CellReference(row, col, absRow, absCol);
assertEquals("A$1", cellReference.formatAsString());
cellRef = "AAA300";
cellReference = new CellReference(cellRef);
assertEquals(702, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("300", parts[1]);
assertEquals("AAA", parts[2]);
cellReference = new CellReference(row, (short)col);
assertEquals("A1", cellReference.formatAsString());
cellRef = "ZZ100521";
cellReference = new CellReference(cellRef);
assertEquals(26*26+25, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("100521", parts[1]);
assertEquals("ZZ", parts[2]);
cellReference = new CellReference(cellRef);
assertEquals("A1", cellReference.formatAsString());
cellRef = "ZYX987";
cellReference = new CellReference(cellRef);
assertEquals(26*26*26 + 25*26 + 24 - 1, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("987", parts[1]);
assertEquals("ZYX", parts[2]);
cellRef = "AABC10065";
cellReference = new CellReference(cellRef);
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("10065", parts[1]);
assertEquals("AABC", parts[2]);
}
public void testGetColNumFromRef() {
String cellRef = "A1";
CellReference cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
cellRef = "AA1";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
cellRef = "AB1";
cellReference = new CellReference(cellRef);
assertEquals(27, cellReference.getCol());
cellRef = "BA1";
cellReference = new CellReference(cellRef);
assertEquals(26+26, cellReference.getCol());
cellRef = "CA1";
cellReference = new CellReference(cellRef);
assertEquals(26+26+26, cellReference.getCol());
cellRef = "ZA1";
cellReference = new CellReference(cellRef);
assertEquals(26*26, cellReference.getCol());
cellRef = "ZZ1";
cellReference = new CellReference(cellRef);
assertEquals(26*26+25, cellReference.getCol());
cellRef = "AAA1";
cellReference = new CellReference(cellRef);
assertEquals(26*26+26, cellReference.getCol());
cellRef = "A1100";
cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
cellRef = "BC15";
cellReference = new CellReference(cellRef);
assertEquals(54, cellReference.getCol());
}
public void testGetRowNumFromRef() {
String cellRef = "A1";
CellReference cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getRow());
cellRef = "A12";
cellReference = new CellReference(cellRef);
assertEquals(11, cellReference.getRow());
cellRef = "AS121";
cellReference = new CellReference(cellRef);
assertEquals(120, cellReference.getRow());
}
public void testConvertNumToColString() {
short col = 702;
String collRef = new CellReference(0, col).formatAsString();
assertEquals("AAA1", collRef);
short col2 = 0;
String collRef2 = new CellReference(0, col2).formatAsString();
assertEquals("A1", collRef2);
short col3 = 27;
String collRef3 = new CellReference(0, col3).formatAsString();
assertEquals("AB1", collRef3);
short col4 = 2080;
String collRef4 = new CellReference(0, col4).formatAsString();
assertEquals("CBA1", collRef4);
}
public void testBadRowNumber() {
SpreadsheetVersion v97 = SpreadsheetVersion.EXCEL97;
SpreadsheetVersion v2007 = SpreadsheetVersion.EXCEL2007;
confirmCrInRange(true, "A", "1", v97);
confirmCrInRange(true, "IV", "65536", v97);
confirmCrInRange(false, "IV", "65537", v97);
confirmCrInRange(false, "IW", "65536", v97);
confirmCrInRange(true, "A", "1", v2007);
confirmCrInRange(true, "XFD", "1048576", v2007);
confirmCrInRange(false, "XFD", "1048577", v2007);
confirmCrInRange(false, "XFE", "1048576", v2007);
if (CellReference.cellReferenceIsWithinRange("B", "0", v97)) {
throw new AssertionFailedError("Identified bug 47312a");
}
confirmCrInRange(false, "A", "0", v97);
confirmCrInRange(false, "A", "0", v2007);
}
public void testInvalidReference() {
try {
new CellReference("Sheet1!#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
try {
new CellReference("'MySheetName'!#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
try {
new CellReference("#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
}
private static void confirmCrInRange(boolean expResult, String colStr, String rowStr,
SpreadsheetVersion sv) {
if (expResult == CellReference.cellReferenceIsWithinRange(colStr, rowStr, sv)) {
return;
}
throw new AssertionFailedError("expected (c='" + colStr + "', r='" + rowStr + "' to be "
+ (expResult ? "within" : "out of") + " bounds for version " + sv.name());
}
public void testConvertColStringToIndex() {
assertEquals(0, CellReference.convertColStringToIndex("A"));
assertEquals(1, CellReference.convertColStringToIndex("B"));
assertEquals(14, CellReference.convertColStringToIndex("O"));
assertEquals(701, CellReference.convertColStringToIndex("ZZ"));
assertEquals(18252, CellReference.convertColStringToIndex("ZZA"));
assertEquals(0, CellReference.convertColStringToIndex("$A"));
assertEquals(1, CellReference.convertColStringToIndex("$B"));
try {
CellReference.convertColStringToIndex("A$");
fail("Should throw exception here");
} catch (IllegalArgumentException e) {
assertTrue(e.getMessage().contains("A$"));
}
cellReference = new CellReference(sheet, row, col, absRow, absCol);
assertEquals("Sheet1!A$1", cellReference.formatAsString());
}
public void testFormatAsString() {
CellReference cellReference;
cellReference = new CellReference(null, 0, 0, false, false);
assertEquals("A1", cellReference.formatAsString());
//absolute references
cellReference = new CellReference(null, 0, 0, true, false);
assertEquals("A$1", cellReference.formatAsString());
//sheet name with no spaces
cellReference = new CellReference("Sheet1", 0, 0, true, false);
assertEquals("Sheet1!A$1", cellReference.formatAsString());
//sheet name with spaces
cellReference = new CellReference("Sheet 1", 0, 0, true, false);
assertEquals("'Sheet 1'!A$1", cellReference.formatAsString());
}
public void testGetCellRefParts() {
CellReference cellReference;
String[] parts;
String cellRef = "A1";
cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("1", parts[1]);
assertEquals("A", parts[2]);
cellRef = "AA1";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("1", parts[1]);
assertEquals("AA", parts[2]);
cellRef = "AA100";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("100", parts[1]);
assertEquals("AA", parts[2]);
cellRef = "AAA300";
cellReference = new CellReference(cellRef);
assertEquals(702, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("300", parts[1]);
assertEquals("AAA", parts[2]);
cellRef = "ZZ100521";
cellReference = new CellReference(cellRef);
assertEquals(26*26+25, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("100521", parts[1]);
assertEquals("ZZ", parts[2]);
cellRef = "ZYX987";
cellReference = new CellReference(cellRef);
assertEquals(26*26*26 + 25*26 + 24 - 1, cellReference.getCol());
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("987", parts[1]);
assertEquals("ZYX", parts[2]);
cellRef = "AABC10065";
cellReference = new CellReference(cellRef);
parts = cellReference.getCellRefParts();
assertNotNull(parts);
assertEquals(null, parts[0]);
assertEquals("10065", parts[1]);
assertEquals("AABC", parts[2]);
}
public void testGetColNumFromRef() {
String cellRef = "A1";
CellReference cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
cellRef = "AA1";
cellReference = new CellReference(cellRef);
assertEquals(26, cellReference.getCol());
cellRef = "AB1";
cellReference = new CellReference(cellRef);
assertEquals(27, cellReference.getCol());
cellRef = "BA1";
cellReference = new CellReference(cellRef);
assertEquals(26+26, cellReference.getCol());
cellRef = "CA1";
cellReference = new CellReference(cellRef);
assertEquals(26+26+26, cellReference.getCol());
cellRef = "ZA1";
cellReference = new CellReference(cellRef);
assertEquals(26*26, cellReference.getCol());
cellRef = "ZZ1";
cellReference = new CellReference(cellRef);
assertEquals(26*26+25, cellReference.getCol());
cellRef = "AAA1";
cellReference = new CellReference(cellRef);
assertEquals(26*26+26, cellReference.getCol());
cellRef = "A1100";
cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getCol());
cellRef = "BC15";
cellReference = new CellReference(cellRef);
assertEquals(54, cellReference.getCol());
}
public void testGetRowNumFromRef() {
String cellRef = "A1";
CellReference cellReference = new CellReference(cellRef);
assertEquals(0, cellReference.getRow());
cellRef = "A12";
cellReference = new CellReference(cellRef);
assertEquals(11, cellReference.getRow());
cellRef = "AS121";
cellReference = new CellReference(cellRef);
assertEquals(120, cellReference.getRow());
}
public void testConvertNumToColString() {
short col = 702;
String collRef = new CellReference(0, col).formatAsString();
assertEquals("AAA1", collRef);
short col2 = 0;
String collRef2 = new CellReference(0, col2).formatAsString();
assertEquals("A1", collRef2);
short col3 = 27;
String collRef3 = new CellReference(0, col3).formatAsString();
assertEquals("AB1", collRef3);
short col4 = 2080;
String collRef4 = new CellReference(0, col4).formatAsString();
assertEquals("CBA1", collRef4);
}
public void testBadRowNumber() {
SpreadsheetVersion v97 = SpreadsheetVersion.EXCEL97;
SpreadsheetVersion v2007 = SpreadsheetVersion.EXCEL2007;
confirmCrInRange(true, "A", "1", v97);
confirmCrInRange(true, "IV", "65536", v97);
confirmCrInRange(false, "IV", "65537", v97);
confirmCrInRange(false, "IW", "65536", v97);
confirmCrInRange(true, "A", "1", v2007);
confirmCrInRange(true, "XFD", "1048576", v2007);
confirmCrInRange(false, "XFD", "1048577", v2007);
confirmCrInRange(false, "XFE", "1048576", v2007);
if (CellReference.cellReferenceIsWithinRange("B", "0", v97)) {
throw new AssertionFailedError("Identified bug 47312a");
}
confirmCrInRange(false, "A", "0", v97);
confirmCrInRange(false, "A", "0", v2007);
}
public void testInvalidReference() {
try {
new CellReference("Sheet1!#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
try {
new CellReference("'MySheetName'!#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
try {
new CellReference("#REF!");
fail("Shouldn't be able to create a #REF! refence");
} catch(IllegalArgumentException e) {}
}
private static void confirmCrInRange(boolean expResult, String colStr, String rowStr,
SpreadsheetVersion sv) {
if (expResult == CellReference.cellReferenceIsWithinRange(colStr, rowStr, sv)) {
return;
}
throw new AssertionFailedError("expected (c='" + colStr + "', r='" + rowStr + "' to be "
+ (expResult ? "within" : "out of") + " bounds for version " + sv.name());
}
public void testConvertColStringToIndex() {
assertEquals(0, CellReference.convertColStringToIndex("A"));
assertEquals(1, CellReference.convertColStringToIndex("B"));
assertEquals(14, CellReference.convertColStringToIndex("O"));
assertEquals(701, CellReference.convertColStringToIndex("ZZ"));
assertEquals(18252, CellReference.convertColStringToIndex("ZZA"));
assertEquals(0, CellReference.convertColStringToIndex("$A"));
assertEquals(1, CellReference.convertColStringToIndex("$B"));
try {
CellReference.convertColStringToIndex("A$");
fail("Should throw exception here");
} catch (IllegalArgumentException e) {
assertTrue(e.getMessage().contains("A$"));
}
}
public void testConvertNumColColString() {
assertEquals("A", CellReference.convertNumToColString(0));
assertEquals("AV", CellReference.convertNumToColString(47));
assertEquals("AW", CellReference.convertNumToColString(48));
assertEquals("BF", CellReference.convertNumToColString(57));
assertEquals("", CellReference.convertNumToColString(-1));
assertEquals("", CellReference.convertNumToColString(Integer.MIN_VALUE));
assertEquals("", CellReference.convertNumToColString(Integer.MAX_VALUE));
assertEquals("FXSHRXW", CellReference.convertNumToColString(Integer.MAX_VALUE-1));
}
assertEquals("AV", CellReference.convertNumToColString(47));
assertEquals("AW", CellReference.convertNumToColString(48));
assertEquals("BF", CellReference.convertNumToColString(57));
assertEquals("", CellReference.convertNumToColString(-1));
assertEquals("", CellReference.convertNumToColString(Integer.MIN_VALUE));
assertEquals("", CellReference.convertNumToColString(Integer.MAX_VALUE));
assertEquals("FXSHRXW", CellReference.convertNumToColString(Integer.MAX_VALUE-1));
}
}