Fix the walk_directory method to avoid walking the same directories multiple times
Add unit-tests for the walk_directory method