Add newTopoSort method
Add some basic topo tests
Add extreme test