Directory: | ./ |
---|---|
File: | TESTS/TEST_DOT/main.cpp |
Date: | 2025-03-14 11:38:38 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 58 | 58 | 100.0% |
Branches: | 79 | 79 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /*************************************** | ||
2 | Auteur : Pierre Aubert | ||
3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
4 | Licence : CeCILL-C | ||
5 | ****************************************/ | ||
6 | |||
7 | #include "Graph.h" | ||
8 | |||
9 | ///Test the graph iteration | ||
10 | /** @param graph : Graph on which to iterate | ||
11 | * @return true on success, false otherwise | ||
12 | */ | ||
13 | 1 | bool testIterateGraph(const Graph<bool, long> & graph){ | |
14 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | std::cout << "testIterateGraph : iterateParent :" << std::endl; |
15 | 1 | std::list<long> listNodeToParent; | |
16 |
3/3✓ Branch 1 taken 4 times.
✓ Branch 3 taken 3 times.
✓ Branch 4 taken 1 times.
|
4 | while(graph.iterateParent(listNodeToParent)){ |
17 |
2/2✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
|
3 | std::cout << "To parent iteration :" << std::endl; |
18 |
2/2✓ Branch 4 taken 5 times.
✓ Branch 5 taken 3 times.
|
8 | for(std::list<long>::iterator it(listNodeToParent.begin()); it != listNodeToParent.end(); ++it){ |
19 |
3/3✓ Branch 1 taken 5 times.
✓ Branch 5 taken 5 times.
✓ Branch 8 taken 5 times.
|
5 | std::cout << "\t" << (*it) << std::endl; |
20 | } | ||
21 | } | ||
22 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | std::cout << "testIterateGraph : iterateChildren :" << std::endl; |
23 | 1 | std::list<long> listNodeToChldren; | |
24 |
3/3✓ Branch 1 taken 4 times.
✓ Branch 3 taken 3 times.
✓ Branch 4 taken 1 times.
|
4 | while(graph.iterateChildren(listNodeToChldren)){ |
25 |
2/2✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
|
3 | std::cout << "To children iteration :" << std::endl; |
26 |
2/2✓ Branch 4 taken 6 times.
✓ Branch 5 taken 3 times.
|
9 | for(std::list<long>::iterator it(listNodeToChldren.begin()); it != listNodeToChldren.end(); ++it){ |
27 |
3/3✓ Branch 1 taken 6 times.
✓ Branch 5 taken 6 times.
✓ Branch 8 taken 6 times.
|
6 | std::cout << "\t" << (*it) << std::endl; |
28 | } | ||
29 | } | ||
30 | 1 | return true; | |
31 | 1 | } | |
32 | |||
33 | ///Test the graph iteration | ||
34 | /** @param graph : Graph on which to iterate | ||
35 | * @return true on success, false otherwise | ||
36 | */ | ||
37 | 1 | bool testIterateGraphUnique(Graph<bool, long> & graph){ | |
38 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | std::cout << "testIterateGraphUnique : iterateParentCheckUpdate :" << std::endl; |
39 | 1 | std::list<long> listNodeToParent; | |
40 |
3/3✓ Branch 1 taken 4 times.
✓ Branch 3 taken 3 times.
✓ Branch 4 taken 1 times.
|
4 | while(graph.iterateParentCheckUpdate(listNodeToParent)){ |
41 |
2/2✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
|
3 | std::cout << "To parent iteration :" << std::endl; |
42 |
2/2✓ Branch 4 taken 5 times.
✓ Branch 5 taken 3 times.
|
8 | for(std::list<long>::iterator it(listNodeToParent.begin()); it != listNodeToParent.end(); ++it){ |
43 |
3/3✓ Branch 1 taken 5 times.
✓ Branch 5 taken 5 times.
✓ Branch 8 taken 5 times.
|
5 | std::cout << "\t" << (*it) << std::endl; |
44 | } | ||
45 | } | ||
46 | |||
47 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | std::cout << "testIterateGraphUnique : iterateChildrenCheckUpdate :" << std::endl; |
48 | 1 | std::list<long> listNodeToChldren; | |
49 |
3/3✓ Branch 1 taken 3 times.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 1 times.
|
3 | while(graph.iterateChildrenCheckUpdate(listNodeToChldren)){ |
50 |
2/2✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
|
2 | std::cout << "To children iteration :" << std::endl; |
51 |
2/2✓ Branch 4 taken 5 times.
✓ Branch 5 taken 2 times.
|
7 | for(std::list<long>::iterator it(listNodeToChldren.begin()); it != listNodeToChldren.end(); ++it){ |
52 |
3/3✓ Branch 1 taken 5 times.
✓ Branch 5 taken 5 times.
✓ Branch 8 taken 5 times.
|
5 | std::cout << "\t" << (*it) << std::endl; |
53 | } | ||
54 | } | ||
55 | 1 | return true; | |
56 | 1 | } | |
57 | |||
58 | ///Test the graph conversion to dot | ||
59 | /** @return true on success, false otherwise | ||
60 | */ | ||
61 | 1 | bool testGraphToDot(){ | |
62 |
1/1✓ Branch 1 taken 1 times.
|
1 | Graph<bool, long> graph; |
63 | |||
64 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | long nodeA = graph.createNode(true, "0"); |
65 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | long nodeB = graph.createNode(true, "1"); |
66 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | long nodeC = graph.createNode(true, "2"); |
67 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | long nodeD = graph.createNode(true, "3"); |
68 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | long nodeE = graph.createNode(true, "4"); |
69 | |||
70 |
1/1✓ Branch 1 taken 1 times.
|
1 | graph.connectNode(nodeA, nodeC); |
71 |
1/1✓ Branch 1 taken 1 times.
|
1 | graph.connectNode(nodeB, nodeC); |
72 |
1/1✓ Branch 1 taken 1 times.
|
1 | graph.connectNode(nodeC, nodeE); |
73 |
1/1✓ Branch 1 taken 1 times.
|
1 | graph.connectNode(nodeD, nodeE); |
74 | |||
75 | 1 | bool b(true); | |
76 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | b &= graph.savePng("testGraph.png"); |
77 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | b &= !graph.saveDot(""); |
78 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | b &= !graph.savePng(""); |
79 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | b &= !graph.saveDot("someInexistingDir/someFile.dot"); |
80 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | b &= !graph.savePng("someInexistingDir/someFile.png"); |
81 | |||
82 | 1 | b &= graph.size() == 5lu; | |
83 | |||
84 |
1/1✓ Branch 1 taken 1 times.
|
1 | graph.updateFirstLastNode(); |
85 |
1/1✓ Branch 1 taken 1 times.
|
1 | b &= testIterateGraph(graph); |
86 |
1/1✓ Branch 1 taken 1 times.
|
1 | b &= testIterateGraphUnique(graph); |
87 | |||
88 |
3/3✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
|
1 | std::cout << "testGraphToDot : b = " << b << std::endl; |
89 | 1 | return b; | |
90 | 1 | } | |
91 | |||
92 | |||
93 | 1 | int main(int argc, char** argv){ | |
94 | 1 | bool b(testGraphToDot()); | |
95 | 1 | std::cout << "b = " << b << std::endl; | |
96 | 1 | return b - 1; | |
97 | } | ||
98 | |||
99 | |||
100 |