Trying to refactor: reduced duplication of movement but the while clause looks rather complex now.
Test that shows we cover only half of rook directions
4 directions of rook movement covered.
Strong algorithm generalizing by introducing new Direction enum.
Added test to prevent movement when the road is blocked.