ATLAS Offline Software
Loading...
Searching...
No Matches
JetGroupUnionTest.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "gtest/gtest.h"
7#include <vector>
8#include <map>
9
10using res = std::pair<std::vector<unsigned int>, bool>;
11using vec = std::vector<unsigned int>;
12
13TEST(JetGroupUnionTester, empty) {
14 std::vector<std::size_t> siblings;
15 CondInd2JetGroupsInds satisfiedBy;
16
17 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(nullptr);
18
19 JetGroupUnion jgu(siblings, satisfiedBy);
20
21 EXPECT_TRUE(jgu.next(collector).empty());
22}
23
24
25TEST(JetGroupUnionTester, one_elementary_cond) {
26 std::vector<std::size_t> siblings{0};
27
28 CondInd2JetGroupsInds satisfiedBy;
29 satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
30
31 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(nullptr);
32
33 JetGroupUnion jgu(siblings, satisfiedBy);
34
35 auto exp = std::vector<std::size_t>{0, 1, 2};
36 EXPECT_EQ(jgu.next(collector), exp);
37 EXPECT_TRUE(jgu.next(collector).empty());
38}
39
40
41TEST(JetGroupUnionTester, two_elem_nooverlap) {
42 std::vector<std::size_t> siblings{0, 1};
43
44 CondInd2JetGroupsInds satisfiedBy;
45 satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
46 satisfiedBy[1] = std::vector<std::size_t> {3, 4, 5};
47 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(nullptr);
48
49 JetGroupUnion jgu(siblings, satisfiedBy);
50
51 auto exp = std::vector<std::size_t>{0, 1, 2, 3, 4, 5};
52 EXPECT_EQ(jgu.next(collector), exp);
53 EXPECT_TRUE(jgu.next(collector).empty());
54}
55
56TEST(JetGroupUnionTester, two_elem_withoverlap) {
57 std::vector<std::size_t> siblings{0, 1};
58
59 CondInd2JetGroupsInds satisfiedBy;
60 satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
61 satisfiedBy[1] = std::vector<std::size_t> {3, 1, 5};
62
63 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(nullptr);
64
65 JetGroupUnion jgu(siblings, satisfiedBy);
66
67 auto exp = std::vector<std::size_t>{0, 1, 2, 3, 5};
68 EXPECT_EQ(jgu.next(collector), exp);
69 EXPECT_TRUE(jgu.next(collector).empty());
70}
std::vector< size_t > vec
std::pair< std::vector< unsigned int >, bool > res
std::map< int, std::vector< std::size_t > > CondInd2JetGroupsInds
TEST(JetGroupUnionTester, empty)
static const Attributes_t empty
virtual std::vector< std::size_t > next(const Collector &) override