recursive straight line test