MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / test_QueryGraphClone

Function test_QueryGraphClone

tests/unit/test_query_graph.c:166–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164}
165
166void test_QueryGraphClone() {
167 // create a triangle graph
168 // (A)->(B)->(C)->(A)
169 size_t node_cap = 3;
170 size_t edge_cap = 3;
171
172 // create nodes
173 const char *relation = "R";
174
175 QGNode *A = QGNode_New("A");
176 QGNode *B = QGNode_New("B");
177 QGNode *C = QGNode_New("C");
178
179 QGEdge *AB = QGEdge_New(relation, "AB");
180 QGEdge *BC = QGEdge_New(relation, "BC");
181 QGEdge *CA = QGEdge_New(relation, "CA");
182
183 QueryGraph *g = QueryGraph_New(node_cap, edge_cap);
184 QueryGraph_AddNode(g, A);
185 QueryGraph_AddNode(g, B);
186 QueryGraph_AddNode(g, C);
187
188 QueryGraph_ConnectNodes(g, A, B, AB);
189 QueryGraph_ConnectNodes(g, B, C, BC);
190 QueryGraph_ConnectNodes(g, C, A, CA);
191
192 QueryGraph *clone = QueryGraph_Clone(g);
193
194 // validations
195 TEST_ASSERT(QueryGraph_NodeCount(g) == QueryGraph_NodeCount(clone));
196 TEST_ASSERT(QueryGraph_EdgeCount(g) == QueryGraph_EdgeCount(clone));
197
198 // validate nodes
199 for(int i = 0; i < QueryGraph_NodeCount(g); i++) {
200 QGNode *a = g->nodes[i];
201 QGNode *b = clone->nodes[i];
202 compare_nodes(a, b);
203 }
204
205 // validate edges
206 for(int i = 0; i < QueryGraph_EdgeCount(g); i++) {
207 QGEdge *a = g->edges[i];
208 QGEdge *b = clone->edges[i];
209 compare_edges(a, b);
210 }
211
212 // clean up
213 QueryGraph_Free(g);
214 QueryGraph_Free(clone);
215}
216
217
218void test_QueryGraphRemoveEntities() {

Callers

nothing calls this directly

Calls 11

QGNode_NewFunction · 0.85
QGEdge_NewFunction · 0.85
QueryGraph_NewFunction · 0.85
QueryGraph_AddNodeFunction · 0.85
QueryGraph_ConnectNodesFunction · 0.85
QueryGraph_CloneFunction · 0.85
QueryGraph_NodeCountFunction · 0.85
QueryGraph_EdgeCountFunction · 0.85
compare_nodesFunction · 0.85
compare_edgesFunction · 0.85
QueryGraph_FreeFunction · 0.85

Tested by

no test coverage detected