|
@@ -137,9 +137,36 @@ func (l *LibSuite) TestReadWorkbookRelationsFromZipFileWithFunnyNames(c *C) {
|
|
|
c.Assert(cell1.String(), Equals, "I am Bob")
|
|
c.Assert(cell1.String(), Equals, "I am Bob")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (l *LibSuite) TestGetLargestDenominator(c *C) {
|
|
|
|
|
+ d, p := getLargestDenominator(0, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 1)
|
|
|
|
|
+ c.Assert(p, Equals, 0)
|
|
|
|
|
+ d, p = getLargestDenominator(1, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 1)
|
|
|
|
|
+ c.Assert(p, Equals, 0)
|
|
|
|
|
+ d, p = getLargestDenominator(2, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 2)
|
|
|
|
|
+ c.Assert(p, Equals, 1)
|
|
|
|
|
+ d, p = getLargestDenominator(4, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 4)
|
|
|
|
|
+ c.Assert(p, Equals, 2)
|
|
|
|
|
+ d, p = getLargestDenominator(8, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 8)
|
|
|
|
|
+ c.Assert(p, Equals, 3)
|
|
|
|
|
+ d, p = getLargestDenominator(9, 1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 8)
|
|
|
|
|
+ c.Assert(p, Equals, 3)
|
|
|
|
|
+ d, p = getLargestDenominator(15,1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 8)
|
|
|
|
|
+ c.Assert(p, Equals, 3)
|
|
|
|
|
+ d, p = getLargestDenominator(16,1, 2, 0)
|
|
|
|
|
+ c.Assert(d, Equals, 16)
|
|
|
|
|
+ c.Assert(p, Equals, 4)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (l *LibSuite) TestLettersToNumeric(c *C) {
|
|
func (l *LibSuite) TestLettersToNumeric(c *C) {
|
|
|
cases := map[string]int{"A": 0, "G": 6, "z": 25, "AA": 26, "Az": 51,
|
|
cases := map[string]int{"A": 0, "G": 6, "z": 25, "AA": 26, "Az": 51,
|
|
|
- "BA": 52, "Bz": 77, "ZA": 26*26 + 0, "ZZ": 26*26 + 25,
|
|
|
|
|
|
|
+ "BA": 52, "BZ": 77, "ZA": 26*26 + 0, "ZZ": 26*26 + 25,
|
|
|
"AAA": 26*26 + 26 + 0, "AMI": 1022}
|
|
"AAA": 26*26 + 26 + 0, "AMI": 1022}
|
|
|
for input, ans := range cases {
|
|
for input, ans := range cases {
|
|
|
output := lettersToNumeric(input)
|
|
output := lettersToNumeric(input)
|
|
@@ -147,6 +174,24 @@ func (l *LibSuite) TestLettersToNumeric(c *C) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (l *LibSuite) TestNumericToLetters(c *C) {
|
|
|
|
|
+ cases := map[string]int{
|
|
|
|
|
+ "A": 0,
|
|
|
|
|
+ "G": 6,
|
|
|
|
|
+ "Z": 25,
|
|
|
|
|
+ "AA": 26,
|
|
|
|
|
+ "AZ": 51,
|
|
|
|
|
+ "BA": 52,
|
|
|
|
|
+ "BZ": 77, "ZA": 26*26, "ZB": 26*26 + 1,
|
|
|
|
|
+ "ZZ": 26*26 + 25,
|
|
|
|
|
+ "AAA": 26*26 + 26 + 0, "AMI": 1022}
|
|
|
|
|
+ for ans, input := range cases {
|
|
|
|
|
+ output := numericToLetters(input)
|
|
|
|
|
+ c.Assert(output, Equals, ans)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (l *LibSuite) TestLetterOnlyMapFunction(c *C) {
|
|
func (l *LibSuite) TestLetterOnlyMapFunction(c *C) {
|
|
|
var input string = "ABC123"
|
|
var input string = "ABC123"
|
|
|
var output string = strings.Map(letterOnlyMapF, input)
|
|
var output string = strings.Map(letterOnlyMapF, input)
|
|
@@ -172,6 +217,11 @@ func (l *LibSuite) TestGetCoordsFromCellIDString(c *C) {
|
|
|
c.Assert(y, Equals, 2)
|
|
c.Assert(y, Equals, 2)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (l *LibSuite) TestGetCellIDStringFromCoords(c *C){
|
|
|
|
|
+ c.Assert(getCellIDStringFromCoords(0, 0), Equals, "A1")
|
|
|
|
|
+ c.Assert(getCellIDStringFromCoords(2, 2), Equals, "C3")
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (l *LibSuite) TestGetMaxMinFromDimensionRef(c *C) {
|
|
func (l *LibSuite) TestGetMaxMinFromDimensionRef(c *C) {
|
|
|
var dimensionRef string = "A1:B2"
|
|
var dimensionRef string = "A1:B2"
|
|
|
var minx, miny, maxx, maxy int
|
|
var minx, miny, maxx, maxy int
|