From 317ef65381b179b863dcd6b1f5479cc576a8376c Mon Sep 17 00:00:00 2001 From: mbresson Date: Fri, 19 Jan 2018 17:32:54 +0800 Subject: make SetCellStyle quicker by skipping conversions in checkCellInArea, and skipping area checks when we are sure the cell can't be before or past the current row/col Signed-off-by: Matthieu Bresson --- cell_test.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 cell_test.go (limited to 'cell_test.go') diff --git a/cell_test.go b/cell_test.go new file mode 100644 index 0000000..2ab5413 --- /dev/null +++ b/cell_test.go @@ -0,0 +1,40 @@ +package excelize + +import "testing" + +func TestCheckCellInArea(t *testing.T) { + expectedTrueCellInAreaList := [][2]string{ + [2]string{"c2", "A1:AAZ32"}, + [2]string{"AA0", "Z0:AB1"}, + [2]string{"B9", "A1:B9"}, + [2]string{"C2", "C2:C2"}, + } + + for _, expectedTrueCellInArea := range expectedTrueCellInAreaList { + cell := expectedTrueCellInArea[0] + area := expectedTrueCellInArea[1] + + cellInArea := checkCellInArea(cell, area) + + if !cellInArea { + t.Fatalf("Expected cell %v to be in area %v, got false\n", cell, area) + } + } + + expectedFalseCellInAreaList := [][2]string{ + [2]string{"c2", "A4:AAZ32"}, + [2]string{"C4", "D6:A1"}, // weird case, but you never know + [2]string{"AEF42", "BZ40:AEF41"}, + } + + for _, expectedFalseCellInArea := range expectedFalseCellInAreaList { + cell := expectedFalseCellInArea[0] + area := expectedFalseCellInArea[1] + + cellInArea := checkCellInArea(cell, area) + + if cellInArea { + t.Fatalf("Expected cell %v not to be inside of area %v, but got true\n", cell, area) + } + } +} -- cgit v1.2.1