Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Typedefs | Functions
make_jetstreamTest.cxx File Reference
#include "gtest/gtest.h"
#include "TrigHLTJetHypo/../src/make_jetstream.h"
#include <vector>
#include <memory>
Include dependency graph for make_jetstreamTest.cxx:

Go to the source code of this file.

Typedefs

using vec = std::vector< std::size_t >
 

Functions

 TEST (make_jetstreamTester, SimpleSimpleSimpleChain)
 
 TEST (make_jetstreamTester, SimpleCompoundSimpleChain)
 
 TEST (make_jetstreamTester, reallife)
 

Typedef Documentation

◆ vec

using vec = std::vector<std::size_t>

Definition at line 10 of file make_jetstreamTest.cxx.

Function Documentation

◆ TEST() [1/3]

TEST ( make_jetstreamTester  ,
reallife   
)

Definition at line 101 of file make_jetstreamTest.cxx.

101  {
102  std::vector<std::vector<std::size_t>> v;
103  v.push_back(std::vector<std::size_t>{0, 1, 2});
104  v.push_back(std::vector<std::size_t>{
105  0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13,
106  14, 15, 17, 19, 21, 25, 26, 29, 33});
107 
108 
109 
110  std::vector<std::size_t> repeats{1,3};
111 
112  std::size_t sid{0};
113 
114  auto stream = make_jetstream(v, repeats, sid);
115 
116  JetStreamer streamer(std::move(stream));
117 
118  std::size_t ipass{0};
119 
120  while (true) {
121  auto indices = streamer.next();
122  if (indices.empty()){break;}
123  ++ipass;
124  }
125 
126  // 3990 = 3*C(21,3)
127  EXPECT_EQ (ipass, 3990u);
128 }

◆ TEST() [2/3]

TEST ( make_jetstreamTester  ,
SimpleCompoundSimpleChain   
)

Definition at line 58 of file make_jetstreamTest.cxx.

58  {
59  std::vector<std::vector<std::size_t>> v;
60  v.push_back(std::vector<std::size_t>{1,2});
61  v.push_back(std::vector<std::size_t>{3,4, 5});
62  v.push_back(std::vector<std::size_t>{6,7});
63 
64  std::vector<std::size_t> repeats{1,2,1};
65 
66  std::size_t sid{0};
67 
68  auto stream = make_jetstream(v, repeats, sid);
69 
70  JetStreamer streamer(std::move(stream));
71 
72  vec v0{1, 3, 4, 6};
73  vec v1{2, 3, 4, 6};
74  vec v2{1, 3, 5, 6};
75  vec v3{2, 3, 5, 6};
76  vec v4{1, 4, 5, 6};
77  vec v5{2, 4, 5, 6};
78  vec v6{1, 3, 4, 7};
79  vec v7{2, 3, 4, 7};
80  vec v8{1, 3, 5, 7};
81  vec v9{2, 3, 5, 7};
82  vec v10{1, 4, 5, 7};
83  vec v11{2, 4, 5, 7};
84 
85  EXPECT_EQ (v0, streamer.next());
86  EXPECT_EQ (v1, streamer.next());
87  EXPECT_EQ (v2, streamer.next());
88  EXPECT_EQ (v3, streamer.next());
89  EXPECT_EQ (v4, streamer.next());
90  EXPECT_EQ (v5, streamer.next());
91  EXPECT_EQ (v6, streamer.next());
92  EXPECT_EQ (v7, streamer.next());
93  EXPECT_EQ (v8, streamer.next());
94  EXPECT_EQ (v9, streamer.next());
95  EXPECT_EQ (v10, streamer.next());
96  EXPECT_EQ (v11, streamer.next());
97 
98  EXPECT_EQ (vec{}, streamer.next());
99 }

◆ TEST() [3/3]

TEST ( make_jetstreamTester  ,
SimpleSimpleSimpleChain   
)

Definition at line 12 of file make_jetstreamTest.cxx.

12  {
13 
14  std::vector<std::vector<std::size_t>> v;
15  v.push_back(std::vector<std::size_t>{1,2});
16  v.push_back(std::vector<std::size_t>{3,4, 5});
17  v.push_back(std::vector<std::size_t>{6,7});
18 
19  std::vector<std::size_t> repeats{1,1,1};
20 
21  std::size_t sid{0};
22 
23  auto stream = make_jetstream(v, repeats, sid);
24 
25  JetStreamer streamer(std::move(stream));
26 
27  vec v0{1, 3, 6};
28  vec v1{2, 3, 6};
29  vec v2{1, 4, 6};
30  vec v3{2, 4, 6};
31  vec v4{1, 5, 6};
32  vec v5{2, 5, 6};
33  vec v6{1, 3, 7};
34  vec v7{2, 3, 7};
35  vec v8{1, 4, 7};
36  vec v9{2, 4, 7};
37  vec v10{1, 5, 7};
38  vec v11{2, 5, 7};
39 
40 
41  EXPECT_EQ (v0, streamer.next());
42  EXPECT_EQ (v1, streamer.next());
43  EXPECT_EQ (v2, streamer.next());
44  EXPECT_EQ (v3, streamer.next());
45  EXPECT_EQ (v4, streamer.next());
46  EXPECT_EQ (v5, streamer.next());
47  EXPECT_EQ (v6, streamer.next());
48  EXPECT_EQ (v7, streamer.next());
49  EXPECT_EQ (v8, streamer.next());
50  EXPECT_EQ (v9, streamer.next());
51  EXPECT_EQ (v10, streamer.next());
52  EXPECT_EQ (v11, streamer.next());
53 
54  EXPECT_EQ (vec{}, streamer.next());
55 }
Trk::indices
std::pair< long int, long int > indices
Definition: AlSymMatBase.h:24
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
parseMapping.v0
def v0
Definition: parseMapping.py:149
ReadCellNoiseFromCoolCompare.v2
v2
Definition: ReadCellNoiseFromCoolCompare.py:364
python.PyAthena.v
v
Definition: PyAthena.py:154
JetStreamer
Definition: JetStreamer.h:25
make_jetstream
std::unique_ptr< IJetStream > make_jetstream(std::vector< std::vector< std::size_t >> indices, std::vector< std::size_t > repeats, std::size_t sid)
Definition: make_jetstream.h:28