@@ -269,6 +269,30 @@ public void testPathUniqueStartAndEndNodes() {
269
269
verifyEulerianPath (graph );
270
270
}
271
271
272
+ @ Test
273
+ public void testGraphWithUniquePath () {
274
+ int n = 10 ;
275
+ List <List <Integer >> graph = initializeEmptyGraph (n );
276
+ addDirectedEdge (graph , 0 , 2 );
277
+ addDirectedEdge (graph , 1 , 3 );
278
+ addDirectedEdge (graph , 2 , 1 );
279
+ addDirectedEdge (graph , 3 , 0 );
280
+ addDirectedEdge (graph , 3 , 4 );
281
+ addDirectedEdge (graph , 6 , 3 );
282
+ addDirectedEdge (graph , 6 , 7 );
283
+ addDirectedEdge (graph , 7 , 8 );
284
+ addDirectedEdge (graph , 8 , 9 );
285
+ addDirectedEdge (graph , 9 , 6 );
286
+
287
+ verifyEulerianPath (graph );
288
+
289
+ EulerianPathDirectedEdgesAdjacencyList solver ;
290
+ solver = new EulerianPathDirectedEdgesAdjacencyList (graph );
291
+ int [] path = solver .getEulerianPath ();
292
+ int [] expected = {6 ,7 ,8 ,9 ,6 ,3 ,0 ,2 ,1 ,3 ,4 };
293
+ assertThat (path ).isEqualTo (expected );
294
+ }
295
+
272
296
// There should be an Eulerian path on this directed graph from node 1 to node 0;
273
297
@ Test
274
298
public void testSomewhatComplexPath () {
0 commit comments