Belle II Software  release-05-01-25
NodeFamilyTests Namespace Reference

These tests cover the functionality of the classes: DirectedNode, DirectedNodeNetwork. More...

Functions

 TEST (NodeFamilyDefinerTest, TestNodeFamiliesUsingDirectedNodeNetworkInt)
 Unit test for NodeFamilyDefiner. More...
 

Detailed Description

These tests cover the functionality of the classes: DirectedNode, DirectedNodeNetwork.

TODO

Function Documentation

◆ TEST()

NodeFamilyTests::TEST ( NodeFamilyDefinerTest  ,
TestNodeFamiliesUsingDirectedNodeNetworkInt   
)

Unit test for NodeFamilyDefiner.

< A array of integers for test

< these entries are independent of the first intArray-entries

< entry 2 crosses intArray, entry 3 crosses intArray2

< another array for tests

Definition at line 35 of file NodeFamilyDefiner.cc.

36  {
37  // just some input for testing (same as in DirectedNodeNetwork-tests):
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());
45 
46  // filling network:
47  for (unsigned int index = 1 ; index < 5; index++) {
48  // correct order: outerEntry, innerEntry:
49  intNetwork.addNode(intArray.at(index - 1), intArray.at(index - 1));
50  intNetwork.addNode(intArray.at(index), intArray.at(index));
51 
52  intNetwork.linkNodes(intArray.at(index - 1), intArray.at(index));
53  }
54 
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));
58 
59  intNetwork.linkNodes(intArray2.at(index - 1), intArray2.at(index));
60  }
61 
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));
65 
66  intNetwork.linkNodes(intArray3.at(index - 1), intArray3.at(index));
67  }
68 
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));
72 
73  intNetwork.linkNodes(intArray4.at(index - 1), intArray4.at(index));
74  }
75 
76  // filling network - end.
77  EXPECT_EQ(15, intNetwork.size());
78 
82  std::vector<DirectedNode<int, CACell>* >> familyDefiner;
83 
84  short nFamilies = familyDefiner.defineFamilies(intNetwork);
85 
86  EXPECT_EQ(2, nFamilies);
87  }
Belle2::NodeFamilyDefiner
This class assigns a common family identifier to all CACells in the network that are connected.
Definition: NodeFamilyDefiner.h:44
Belle2::DirectedNodeNetwork::size
unsigned int size() const
Returns number of nodes to be found in the network.
Definition: DirectedNodeNetwork.h:225
Belle2::DirectedNodeNetwork
Network of directed nodes of the type EntryType.
Definition: DirectedNodeNetwork.h:38
Belle2::DirectedNodeNetwork::linkNodes
bool linkNodes(NodeID outerNodeID, NodeID innerNodeID)
takes two entry IDs and weaves them into the network
Definition: DirectedNodeNetwork.h:132
Belle2::DirectedNode
The Node-Class.
Definition: DirectedNode.h:41
Belle2::DirectedNodeNetwork::addNode
bool addNode(NodeID nodeID, EntryType &newEntry)
************************* PUBLIC MEMBER FUNCTIONS *************************
Definition: DirectedNodeNetwork.h:72