Removed unecessary import
Started Implementation of DFS by extracting common methods between DFS and BFS into common base module Search
Factored common elements out of DFS/BFS and into the Search class
Added finish time field to GraphNode
Moved BFS test suite to separate file
Implemented DFS
Added Test file for DFS
Moved BFS test methods out of GraphTest into own file
Added method to GraphNode to help with semantics around when a node is undiscovered
Corrected copy errors.
Targeted DFS not BFS
Implemented ability to specify which node the DFS algorithm will start on
Fixed bug: was checking if wrong node was discovered before searching neighbours
Added enumeration to better deal with selecting which traversal order to execute
Not sure why traverse was an enum. Removed it.
Infact I removed it all together
Added traverse method to graph
Modified the TraversalOrder enum when I realised that Inorder makes no sense on a graph.
Modified GraphNode to include a stringify method to be used with the traversal
Modified DFS so it could be extended by DFSTraverse Class to implement the stringify method in the correct place.
Created the DFSTraverse code and tests