Refactor traversal tests, abstract into cleaner private methods, use dataProvider annotation for setting up testing variants