Graph data struct and some test cases -not finish