Skip to content

Commit 96ac8d4

Browse files
authored
Add files via upload
1 parent 055630a commit 96ac8d4

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.thealgorithms.backtracking;
2+
3+
4+
import org.junit.jupiter.api.Test;
5+
import static org.junit.jupiter.api.Assertions.*;
6+
import java.util.*;
7+
8+
class DijkstraTest {
9+
10+
@Test
11+
void testSingleNodeGraph() {
12+
Graph graph = new Graph();
13+
graph.addEdge(1, 1, 0);
14+
15+
Dijkstra dijkstra = new Dijkstra();
16+
Map<Integer, Integer> distances = dijkstra.findShortestPaths(graph, 1);
17+
18+
assertEquals(0, (int) distances.get(1));
19+
}
20+
21+
@Test
22+
void testSimpleGraph() {
23+
Graph graph = new Graph();
24+
graph.addEdge(1, 2, 1);
25+
graph.addEdge(2, 3, 2);
26+
graph.addEdge(1, 3, 4);
27+
28+
Dijkstra dijkstra = new Dijkstra();
29+
Map<Integer, Integer> distances = dijkstra.findShortestPaths(graph, 1);
30+
31+
assertEquals(0, (int) distances.get(1));
32+
assertEquals(1, (int) distances.get(2));
33+
assertEquals(3, (int) distances.get(3));
34+
}
35+
36+
@Test
37+
void testComplexGraph() {
38+
Graph graph = new Graph();
39+
graph.addEdge(1, 2, 10);
40+
graph.addEdge(1, 3, 5);
41+
graph.addEdge(3, 2, 3);
42+
graph.addEdge(2, 4, 1);
43+
graph.addEdge(3, 4, 9);
44+
graph.addEdge(4, 5, 2);
45+
46+
Dijkstra dijkstra = new Dijkstra();
47+
Map<Integer, Integer> distances = dijkstra.findShortestPaths(graph, 1);
48+
49+
assertEquals(0, (int) distances.get(1));
50+
assertEquals(8, (int) distances.get(2));
51+
assertEquals(5, (int) distances.get(3));
52+
assertEquals(9, (int) distances.get(4));
53+
assertEquals(11, (int) distances.get(5));
54+
}
55+
56+
@Test
57+
void testDisconnectedGraph() {
58+
Graph graph = new Graph();
59+
graph.addEdge(1, 2, 5);
60+
graph.addEdge(3, 4, 7);
61+
62+
Dijkstra dijkstra = new Dijkstra();
63+
Map<Integer, Integer> distances = dijkstra.findShortestPaths(graph, 1);
64+
65+
assertEquals(0, (int) distances.get(1));
66+
assertEquals(5, (int) distances.get(2));
67+
assertNull(distances.get(3));
68+
}
69+
70+
@Test
71+
void testGraphWithLoops() {
72+
Graph graph = new Graph();
73+
graph.addEdge(1, 1, 0);
74+
graph.addEdge(1, 2, 2);
75+
graph.addEdge(2, 3, 4);
76+
graph.addEdge(3, 1, 6);
77+
78+
Dijkstra dijkstra = new Dijkstra();
79+
Map<Integer, Integer> distances = dijkstra.findShortestPaths(graph, 1);
80+
81+
assertEquals(0, (int) distances.get(1));
82+
assertEquals(2, (int) distances.get(2));
83+
assertEquals(6, (int) distances.get(3));
84+
}
85+
}

0 commit comments

Comments
 (0)