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

Function CyclicBuildGraph

tests/unit/test_detect_cycle.c:45–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43}
44
45QueryGraph *CyclicBuildGraph() {
46 // (A)->(B)->(C)->(D)->(E)->(B)->(F)->(G)->(C)
47 size_t node_cap = 7;
48 size_t edge_cap = 8;
49
50 // Create nodes.
51 const char *relation = "R";
52
53 QGNode *A = QGNode_New("A");
54 QGNode *B = QGNode_New("B");
55 QGNode *C = QGNode_New("C");
56 QGNode *D = QGNode_New("D");
57 QGNode *E = QGNode_New("E");
58 QGNode *F = QGNode_New("F");
59 QGNode *G = QGNode_New("G");
60
61 // (A)->(B)
62 QGEdge *AB = QGEdge_New(relation, "AB");
63 // (B)->(C)
64 QGEdge *BC = QGEdge_New(relation, "BC");
65 // (C)->(D)
66 QGEdge *CD = QGEdge_New(relation, "CD");
67 // (D)->(E)
68 QGEdge *DE = QGEdge_New(relation, "DE");
69 // (E)->(B)
70 QGEdge *EB = QGEdge_New(relation, "EB");
71 // (B)->(F)
72 QGEdge *BF = QGEdge_New(relation, "BF");
73 // (F)->(G)
74 QGEdge *FG = QGEdge_New(relation, "FG");
75 // (G)->(C)
76 QGEdge *GC = QGEdge_New(relation, "GC");
77
78 QueryGraph *g = QueryGraph_New(node_cap, edge_cap);
79 QueryGraph_AddNode(g, A);
80 QueryGraph_AddNode(g, B);
81 QueryGraph_AddNode(g, C);
82 QueryGraph_AddNode(g, D);
83 QueryGraph_AddNode(g, E);
84 QueryGraph_AddNode(g, F);
85 QueryGraph_AddNode(g, G);
86
87 QueryGraph_ConnectNodes(g, A, B, AB);
88 QueryGraph_ConnectNodes(g, B, C, BC);
89 QueryGraph_ConnectNodes(g, C, D, CD);
90 QueryGraph_ConnectNodes(g, D, E, DE);
91 QueryGraph_ConnectNodes(g, E, B, EB);
92 QueryGraph_ConnectNodes(g, B, F, BF);
93 QueryGraph_ConnectNodes(g, F, G, FG);
94 QueryGraph_ConnectNodes(g, G, C, GC);
95
96 return g;
97}
98
99void setup() {
100 // Use the malloc family for allocations

Callers 1

test_cyclicGraphFunction · 0.85

Calls 5

QGNode_NewFunction · 0.85
QGEdge_NewFunction · 0.85
QueryGraph_NewFunction · 0.85
QueryGraph_AddNodeFunction · 0.85
QueryGraph_ConnectNodesFunction · 0.85

Tested by

no test coverage detected