DFS, BFS with accompanying tests all passing