public void AddressConvert() { var pos1 = new CellPosition(0, 0); var pos2 = new CellPosition(10, 20); AssertEquals(pos1.ToAddress(), "A1"); AssertEquals(pos2.ToAddress(), "U11"); AssertEquals(pos1, new CellPosition("A1")); AssertEquals(pos2, new CellPosition("U11")); var r1 = new RangePosition(0, 0, 1, 1); var r2 = new RangePosition(0, 0, 3, 3); var r3 = new RangePosition(10, 20, 5, 5); AssertEquals(r1.ToAddress(), "A1:A1"); AssertEquals(r2.ToAddress(), "A1:C3"); AssertEquals(r3.ToAddress(), "U11:Y15"); AssertEquals(r1, new RangePosition("A1:A1")); AssertEquals(r2, new RangePosition("A1:C3")); AssertEquals(r3, new RangePosition("U11:Y15")); AssertEquals(new RangePosition("A1:A1"), new RangePosition(0, 0, 1, 1)); }
void MixedRelativeAndAbsolute() { CellPosition pos; RangePosition range; pos = new CellPosition("$A1"); AssertEquals(pos.Col, 0); AssertEquals(pos.Row, 0); AssertEquals("$A1", pos.ToAddress()); AssertEquals("A1", pos.ToRelativeAddress()); AssertEquals("$A$1", pos.ToAbsoluteAddress()); pos = new CellPosition("Z$10"); AssertEquals(pos.Col, 25); AssertEquals(pos.Row, 9); AssertEquals("Z$10", pos.ToAddress()); AssertEquals("Z10", pos.ToRelativeAddress()); AssertEquals("$Z$10", pos.ToAbsoluteAddress()); // full cols range = new RangePosition("$A1:B2"); AssertSame(range.Row, 0); AssertSame(range.Rows, 2); AssertSame(range.Col, 0); AssertSame(range.Cols, 2); AssertEquals("$A1:B2", range.ToAddress()); AssertEquals("A1:B2", range.ToRelativeAddress()); AssertEquals("$A$1:$B$2", range.ToAbsoluteAddress()); }