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()); }