11 #include <gtest/gtest.h>
13 #include <tracking/trackFindingVXD/segmentNetwork/DirectedNode.h>
14 #include <tracking/trackFindingVXD/segmentNetwork/DirectedNodeNetwork.h>
16 #include <tracking/trackFindingVXD/segmentNetwork/CACell.h>
18 #include <tracking/trackFindingVXD/algorithms/NodeCompatibilityCheckerPathCollector.h>
19 #include <tracking/trackFindingVXD/algorithms/NodeFamilyDefiner.h>
35 TEST(NodeFamilyDefinerTest, TestNodeFamiliesUsingDirectedNodeNetworkInt)
38 std::array<int, 5> intArray = { { 1, 5, 3, 4, 2} };
39 std::array<int, 5> intArray2 = { { 0, 3, 4, 6, 7} };
40 std::array<int, 5> intArray3 = { { 99, 101, 103, 104, 105} };
41 std::array<int, 3> intArray4 = { { 100, 101, 102} };
44 EXPECT_EQ(0, intNetwork.
size());
47 for (
unsigned int index = 1 ; index < 5; index++) {
49 intNetwork.
addNode(intArray.at(index - 1), intArray.at(index - 1));
50 intNetwork.
addNode(intArray.at(index), intArray.at(index));
52 intNetwork.
linkNodes(intArray.at(index - 1), intArray.at(index));
55 for (
unsigned int index = 1 ; index < 5; index++) {
56 intNetwork.
addNode(intArray2.at(index - 1), intArray2.at(index - 1));
57 intNetwork.
addNode(intArray2.at(index), intArray2.at(index));
59 intNetwork.
linkNodes(intArray2.at(index - 1), intArray2.at(index));
62 for (
unsigned int index = 1 ; index < 5; index++) {
63 intNetwork.
addNode(intArray3.at(index - 1), intArray3.at(index - 1));
64 intNetwork.
addNode(intArray3.at(index), intArray3.at(index));
66 intNetwork.
linkNodes(intArray3.at(index - 1), intArray3.at(index));
69 for (
unsigned int index = 1 ; index < 3; index++) {
70 intNetwork.
addNode(intArray4.at(index - 1), intArray4.at(index - 1));
71 intNetwork.
addNode(intArray4.at(index), intArray4.at(index));
73 intNetwork.
linkNodes(intArray4.at(index - 1), intArray4.at(index));
77 EXPECT_EQ(15, intNetwork.
size());
82 std::vector<DirectedNode<int, CACell>* >> familyDefiner;
84 short nFamilies = familyDefiner.defineFamilies(intNetwork);
86 EXPECT_EQ(2, nFamilies);