Skip to content

Commit 6b9b83a

Browse files
committed
add thread-safe tests for dijkstra
1 parent f8eedac commit 6b9b83a

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

test/DijkstraTest.cpp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ TEST(DijkstraTest, test_1)
1919
ASSERT_TRUE(res.success);
2020
ASSERT_EQ(res.errorMessage, "");
2121
ASSERT_EQ(res.result, 2);
22+
23+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
24+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node1, node3);
25+
ASSERT_TRUE(res_ts.success);
26+
ASSERT_EQ(res_ts.errorMessage, "");
27+
ASSERT_EQ(res_ts.result, 2);
28+
2229
}
2330

2431
TEST(DijkstraTest, test_2)
@@ -39,6 +46,12 @@ TEST(DijkstraTest, test_2)
3946
ASSERT_TRUE(res.success);
4047
ASSERT_EQ(res.errorMessage, "");
4148
ASSERT_EQ(res.result, 6);
49+
50+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
51+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node1, node3);
52+
ASSERT_TRUE(res_ts.success);
53+
ASSERT_EQ(res_ts.errorMessage, "");
54+
ASSERT_EQ(res_ts.result, 6);
4255
}
4356

4457
TEST(DijkstraTest, test_3)
@@ -59,6 +72,12 @@ TEST(DijkstraTest, test_3)
5972
ASSERT_FALSE(res.success);
6073
ASSERT_EQ(res.errorMessage, CXXGRAPH::ERR_NO_WEIGHTED_EDGE);
6174
ASSERT_EQ(res.result, CXXGRAPH::INF_DOUBLE);
75+
76+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
77+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node1, node3);
78+
ASSERT_FALSE(res_ts.success);
79+
ASSERT_EQ(res_ts.errorMessage, CXXGRAPH::ERR_NO_WEIGHTED_EDGE);
80+
ASSERT_EQ(res_ts.result, CXXGRAPH::INF_DOUBLE);
6281
}
6382

6483
TEST(DijkstraTest, test_4)
@@ -76,6 +95,12 @@ TEST(DijkstraTest, test_4)
7695
ASSERT_FALSE(res.success);
7796
ASSERT_EQ(res.errorMessage, CXXGRAPH::ERR_TARGET_NODE_NOT_REACHABLE);
7897
ASSERT_EQ(res.result, -1);
98+
99+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
100+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node1, node2);
101+
ASSERT_FALSE(res_ts.success);
102+
ASSERT_EQ(res_ts.errorMessage, CXXGRAPH::ERR_TARGET_NODE_NOT_REACHABLE);
103+
ASSERT_EQ(res_ts.result, -1);
79104
}
80105

81106
TEST(DijkstraTest, test_5)
@@ -94,6 +119,12 @@ TEST(DijkstraTest, test_5)
94119
ASSERT_FALSE(res.success);
95120
ASSERT_EQ(res.errorMessage, CXXGRAPH::ERR_SOURCE_NODE_NOT_IN_GRAPH);
96121
ASSERT_EQ(res.result, CXXGRAPH::INF_DOUBLE);
122+
123+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
124+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node4, node2);
125+
ASSERT_FALSE(res_ts.success);
126+
ASSERT_EQ(res_ts.errorMessage, CXXGRAPH::ERR_SOURCE_NODE_NOT_IN_GRAPH);
127+
ASSERT_EQ(res_ts.result, CXXGRAPH::INF_DOUBLE);
97128
}
98129

99130
TEST(DijkstraTest, test_6)
@@ -112,4 +143,10 @@ TEST(DijkstraTest, test_6)
112143
ASSERT_FALSE(res.success);
113144
ASSERT_EQ(res.errorMessage, CXXGRAPH::ERR_TARGET_NODE_NOT_IN_GRAPH);
114145
ASSERT_EQ(res.result, CXXGRAPH::INF_DOUBLE);
146+
147+
CXXGRAPH::Graph_TS<int> graph_ts(edgeSet);
148+
CXXGRAPH::DijkstraResult res_ts = graph_ts.dijkstra(node1, node4);
149+
ASSERT_FALSE(res_ts.success);
150+
ASSERT_EQ(res_ts.errorMessage, CXXGRAPH::ERR_TARGET_NODE_NOT_IN_GRAPH);
151+
ASSERT_EQ(res_ts.result, CXXGRAPH::INF_DOUBLE);
115152
}

0 commit comments

Comments
 (0)