Skip to content

Commit 1d7cea5

Browse files
committed
Fixed Test for DOT and MTX
1 parent 6c3a130 commit 1d7cea5

3 files changed

Lines changed: 55 additions & 52 deletions

File tree

include/CXXGraph/Graph/IO/InputOperation_impl.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,13 @@ int Graph<T>::readFromMTXFile(const std::string &workingDir,
217217
std::string edge_weight;
218218
CXXGraph::id_t edge_id = 0;
219219
while (getline(iFile, row_content)) {
220+
const std::string str_edge_id = std::to_string(edge_id);
220221
std::stringstream row_stream(row_content);
221222

222223
// Read the content of the node ids and the weight into strings
223224
getline(row_stream, node1, ' ');
224225
getline(row_stream, node2, ' ');
225226
getline(row_stream, edge_weight);
226-
const std::string str_edge_id = std::to_string(edge_id);
227227
edgeMap[str_edge_id] = std::pair<std::string, std::string>(node1, node2);
228228
edgeWeightMap[str_edge_id] = std::stod(edge_weight);
229229
edgeDirectedMap[str_edge_id] = !undirected;
@@ -288,6 +288,7 @@ int Graph<T>::readFromDot(const std::string &workingDir,
288288
CXXGraph::id_t edgeId = 0;
289289
std::string fileRow;
290290
while (getline(iFile, fileRow)) {
291+
const std::string str_edge_id = std::to_string(edgeId);
291292
// If you've reached the end of the file, stop
292293
if (fileRow == "}") {
293294
break;
@@ -302,7 +303,6 @@ int Graph<T>::readFromDot(const std::string &workingDir,
302303
getline(row_stream, node1, ' ');
303304
// Store the symbol representing the edge inside temp
304305
getline(row_stream, temp, ' ');
305-
const std::string str_edge_id = std::to_string(edgeId);
306306
if (weighted) {
307307
getline(row_stream, node2, '[');
308308
// Remove any whitespaces or tabs from the node string

test/DOTTest.cpp

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,17 @@ TEST(DOTTest, ReadFromDotUndirected) {
8181
ASSERT_EQ(graph.getEdgeSet().size(), 212);
8282
ASSERT_EQ(graph.getNodeSet().size(), 30);
8383
// Check that the first edge is correct
84-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().first->getUserId(), "0");
85-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().second->getUserId(), "4");
86-
ASSERT_EQ(graph.getEdge(0).value()->isDirected(), false);
87-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), false);
84+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().first->getUserId(), "0");
85+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().second->getUserId(), "4");
86+
ASSERT_EQ(graph.getEdge("0").value()->isDirected(), false);
87+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), false);
8888
// Check that the last edge is correct
89-
ASSERT_EQ(graph.getEdge(211).value()->getNodePair().first->getUserId(), "28");
90-
ASSERT_EQ(graph.getEdge(211).value()->getNodePair().second->getUserId(),
89+
ASSERT_EQ(graph.getEdge("211").value()->getNodePair().first->getUserId(),
90+
"28");
91+
ASSERT_EQ(graph.getEdge("211").value()->getNodePair().second->getUserId(),
9192
"29");
92-
ASSERT_EQ(graph.getEdge(211).value()->isDirected(), false);
93-
ASSERT_EQ(graph.getEdge(211).value()->isWeighted(), false);
93+
ASSERT_EQ(graph.getEdge("211").value()->isDirected(), false);
94+
ASSERT_EQ(graph.getEdge("211").value()->isWeighted(), false);
9495
}
9596

9697
TEST(DOTTest, ReadFromDotUndirectedWeighted) {
@@ -103,24 +104,25 @@ TEST(DOTTest, ReadFromDotUndirectedWeighted) {
103104
ASSERT_EQ(graph.getEdgeSet().size(), 211);
104105
ASSERT_EQ(graph.getNodeSet().size(), 30);
105106
// Check that the first edge is correct
106-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().first->getUserId(), "0");
107-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().second->getUserId(), "1");
107+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().first->getUserId(), "0");
108+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().second->getUserId(), "1");
108109
ASSERT_EQ(dynamic_cast<const CXXGraph::UndirectedWeightedEdge<int> *>(
109-
graph.getEdge(0).value().get())
110+
graph.getEdge("0").value().get())
110111
->getWeight(),
111112
6);
112-
ASSERT_EQ(graph.getEdge(0).value()->isDirected(), false);
113-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), true);
113+
ASSERT_EQ(graph.getEdge("0").value()->isDirected(), false);
114+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), true);
114115
// Check that the last edge is correct
115-
ASSERT_EQ(graph.getEdge(210).value()->getNodePair().first->getUserId(), "27");
116-
ASSERT_EQ(graph.getEdge(210).value()->getNodePair().second->getUserId(),
116+
ASSERT_EQ(graph.getEdge("210").value()->getNodePair().first->getUserId(),
117+
"27");
118+
ASSERT_EQ(graph.getEdge("210").value()->getNodePair().second->getUserId(),
117119
"28");
118120
ASSERT_EQ(dynamic_cast<const CXXGraph::UndirectedWeightedEdge<int> *>(
119-
graph.getEdge(210).value().get())
121+
graph.getEdge("210").value().get())
120122
->getWeight(),
121123
2);
122-
ASSERT_EQ(graph.getEdge(210).value()->isDirected(), false);
123-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), true);
124+
ASSERT_EQ(graph.getEdge("210").value()->isDirected(), false);
125+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), true);
124126
}
125127

126128
TEST(DOTTest, ReadFromDotDirected) {
@@ -133,34 +135,35 @@ TEST(DOTTest, ReadFromDotDirected) {
133135
ASSERT_EQ(graph.getEdgeSet().size(), 410);
134136
ASSERT_EQ(graph.getNodeSet().size(), 30);
135137
// Check that the first edge is correct
136-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().first->getUserId(), "0");
137-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().second->getUserId(), "1");
138+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().first->getUserId(), "0");
139+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().second->getUserId(), "1");
138140
ASSERT_EQ(dynamic_cast<const CXXGraph::DirectedEdge<int> *>(
139-
graph.getEdge(0).value().get())
141+
graph.getEdge("0").value().get())
140142
->getFrom()
141143
.getUserId(),
142144
"0");
143145
ASSERT_EQ(dynamic_cast<const CXXGraph::DirectedEdge<int> *>(
144-
graph.getEdge(0).value().get())
146+
graph.getEdge("0").value().get())
145147
->getTo()
146148
.getUserId(),
147149
"1");
148-
ASSERT_EQ(graph.getEdge(0).value()->isDirected(), true);
149-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), false);
150+
ASSERT_EQ(graph.getEdge("0").value()->isDirected(), true);
151+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), false);
150152
// Check that the last edge is correct
151-
ASSERT_EQ(graph.getEdge(409).value()->getNodePair().first->getUserId(), "29");
152-
ASSERT_EQ(graph.getEdge(409).value()->getNodePair().second->getUserId(),
153+
ASSERT_EQ(graph.getEdge("409").value()->getNodePair().first->getUserId(),
154+
"29");
155+
ASSERT_EQ(graph.getEdge("409").value()->getNodePair().second->getUserId(),
153156
"27");
154157
ASSERT_EQ(dynamic_cast<const CXXGraph::DirectedEdge<int> *>(
155-
graph.getEdge(409).value().get())
158+
graph.getEdge("409").value().get())
156159
->getFrom()
157160
.getUserId(),
158161
"29");
159162
ASSERT_EQ(dynamic_cast<const CXXGraph::DirectedEdge<int> *>(
160-
graph.getEdge(409).value().get())
163+
graph.getEdge("409").value().get())
161164
->getTo()
162165
.getUserId(),
163166
"27");
164-
ASSERT_EQ(graph.getEdge(409).value()->isDirected(), true);
165-
ASSERT_EQ(graph.getEdge(409).value()->isWeighted(), false);
167+
ASSERT_EQ(graph.getEdge("409").value()->isDirected(), true);
168+
ASSERT_EQ(graph.getEdge("409").value()->isWeighted(), false);
166169
}

test/MTXTest.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,26 @@ TEST(MTXTest, ReadFromMtxDirectedWeighted) {
7979
ASSERT_EQ(graph.getNodeSet().size(), 5);
8080

8181
// Check the first edge
82-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().first->getUserId(), "1");
83-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().second->getUserId(), "1");
82+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().first->getUserId(), "1");
83+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().second->getUserId(), "1");
8484
// Check that it is directed
85-
ASSERT_EQ(graph.getEdge(0).value()->isDirected(), false);
85+
ASSERT_EQ(graph.getEdge("0").value()->isDirected(), false);
8686
// Check that it's weighted and the value of the weight
87-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), true);
87+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), true);
8888
ASSERT_EQ(
89-
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge(0).value().get())
89+
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge("0").value().get())
9090
->getWeight(),
9191
1.);
9292

9393
// Check the last edge
94-
ASSERT_EQ(graph.getEdge(7).value()->getNodePair().first->getUserId(), "5");
95-
ASSERT_EQ(graph.getEdge(7).value()->getNodePair().second->getUserId(), "5");
94+
ASSERT_EQ(graph.getEdge("7").value()->getNodePair().first->getUserId(), "5");
95+
ASSERT_EQ(graph.getEdge("7").value()->getNodePair().second->getUserId(), "5");
9696
// Check that it is directed
97-
ASSERT_EQ(graph.getEdge(7).value()->isDirected(), false);
97+
ASSERT_EQ(graph.getEdge("7").value()->isDirected(), false);
9898
// Check that it's weighted and the value of the weight
99-
ASSERT_EQ(graph.getEdge(7).value()->isWeighted(), true);
99+
ASSERT_EQ(graph.getEdge("7").value()->isWeighted(), true);
100100
ASSERT_EQ(
101-
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge(7).value().get())
101+
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge("7").value().get())
102102
->getWeight(),
103103
12.);
104104

@@ -124,26 +124,26 @@ TEST(MTXTest, ReadFromMtxUndirectedWeighted) {
124124
ASSERT_EQ(graph.getNodeSet().size(), 5);
125125

126126
// Check the first edge
127-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().first->getUserId(), "1");
128-
ASSERT_EQ(graph.getEdge(0).value()->getNodePair().second->getUserId(), "1");
127+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().first->getUserId(), "1");
128+
ASSERT_EQ(graph.getEdge("0").value()->getNodePair().second->getUserId(), "1");
129129
// Check that it is directed
130-
ASSERT_EQ(graph.getEdge(0).value()->isDirected(), false);
130+
ASSERT_EQ(graph.getEdge("0").value()->isDirected(), false);
131131
// Check that it's weighted and the value of the weight
132-
ASSERT_EQ(graph.getEdge(0).value()->isWeighted(), true);
132+
ASSERT_EQ(graph.getEdge("0").value()->isWeighted(), true);
133133
ASSERT_EQ(
134-
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge(0).value().get())
134+
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge("0").value().get())
135135
->getWeight(),
136136
1.);
137137

138138
// Check the last edge
139-
ASSERT_EQ(graph.getEdge(7).value()->getNodePair().first->getUserId(), "5");
140-
ASSERT_EQ(graph.getEdge(7).value()->getNodePair().second->getUserId(), "5");
139+
ASSERT_EQ(graph.getEdge("7").value()->getNodePair().first->getUserId(), "5");
140+
ASSERT_EQ(graph.getEdge("7").value()->getNodePair().second->getUserId(), "5");
141141
// Check that it is directed
142-
ASSERT_EQ(graph.getEdge(7).value()->isDirected(), false);
142+
ASSERT_EQ(graph.getEdge("7").value()->isDirected(), false);
143143
// Check that it's weighted and the value of the weight
144-
ASSERT_EQ(graph.getEdge(7).value()->isWeighted(), true);
144+
ASSERT_EQ(graph.getEdge("7").value()->isWeighted(), true);
145145
ASSERT_EQ(
146-
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge(7).value().get())
146+
dynamic_cast<const CXXGraph::Weighted *>(graph.getEdge("7").value().get())
147147
->getWeight(),
148148
12.);
149149

0 commit comments

Comments
 (0)