Added directed graph tests. Added graph interface. Added abstraction to the tests