def test_position_advance(): position = Position((1, 1)) position.advance_columns(3) assert position == (1, 4) position.advance_line() assert position == (2, 1) position.advance_columns(4) assert position == (2, 5)
def test_postion_around_the_world(): assert make_position(1, 2) == Position.from_tuple(make_position(1, 2).to_tuple())
def test_position_opposite(): assert Position((1, 2)) == - Position((-1, -2))
def test_position_bool(): assert bool(Position((1, 2))) assert not bool(Position((-1, 2))) assert not bool(Position((1, -2))) assert not bool(Position((-1, -2)))
def test_position_equality(): assert Position((1, 2)) == Position((1, 2)) assert Position((1, 2)) == (1, 2) assert Position((1, 2)) != Position((2, 1)) assert Position((1, 2)) != (2, 1)
def test_position_compare(): assert Position((1, 2)) < Position((1, 3)) assert Position((0, 9)) < Position((1, 3)) assert Position((1, 2)) <= Position((1, 3)) assert Position((0, 9)) <= Position((1, 3)) assert Position((1, 2)) <= Position((1, 2)) assert Position((1, 2)) == Position((1, 2)) assert Position((1, 4)) > Position((1, 3)) assert Position((2, 0)) > Position((1, 3)) assert Position((1, 4)) >= Position((1, 3)) assert Position((2, 0)) >= Position((1, 3)) assert Position((1, 4)) >= Position((1, 4)) assert Position((1, 4)) == Position((1, 4))
def test_postion_around_the_world(): assert Position((1, 2)) == Position(Position((1, 2)).to_tuple())
def test_position_right(): assert Position((1, 2)).right == (1, 3)
def test_position_left(): assert Position((1, 2)).left == (1, 1)
def test_position_arithmetic(): assert Position((1, 2)) + Position((1, 2)) == (2, 4) assert Position((1, 2)) + (1, 2) == (2, 4) assert Position((1, 2)) - Position((2, 1)) == (-1, 1) assert Position((1, 2)) - (2, 1) == (-1, 1)