Great to see this even has some tests attached! :+1: 

Personally, I think most of this should be broken down to independent test methods such as `testEmptyGraph`, `testIsolatedVertices`, `testSimpleGraph`, `testUndirectedGraph`, etc. But then again this might be personal preference. Any thoughts?