Я не уверен, почему мой код не возвращает верные вершины пути.Он возвращает [abc] вместо [acf], и я не знаю почему.Есть ли что-то, что я здесь упускаю или делаю неправильно в моем алгоритме?Примечание: getNeighbors (String vertex) возвращает соединительные ребра для вершины в своем параметре.
Это тест: мой код останавливается на «assertEquals (« c », route.next ())», потому что он возвращает «b» вместо «c».текущий код моего кода [abc], ожидаемый [acf]
public class PathingTest {
@Test
public void testPathing(){
Graph cycle = new Graph("graphs/cycle.json");
Iterator<String> route = cycle.getRoute("d", "b").iterator();
assertEquals("d",route.next());
assertEquals("b",route.next());
assertFalse(route.hasNext());
Graph tree = new Graph("graphs/tree.json");
route = tree.getRoute("a", "f").iterator();
assertEquals("a",route.next());
assertEquals("c", route.next());
assertEquals("f", route.next());
assertFalse(route.hasNext());
Graph disconnected = new Graph("graphs/disconnected.json");
assertEquals(null, disconnected.getRoute("a", "f"));
}
}