5 #include "gtest/gtest.h"
10 using res = std::pair<std::vector<unsigned int>,
bool>;
11 using vec = std::vector<unsigned int>;
13 TEST(JetGroupUnionTester, empty) {
14 std::vector<std::size_t> siblings;
17 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr);
21 EXPECT_TRUE(jgu.
next(collector).empty());
25 TEST(JetGroupUnionTester, one_elementary_cond) {
26 std::vector<std::size_t> siblings{0};
29 satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
31 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr);
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());
41 TEST(JetGroupUnionTester, two_elem_nooverlap) {
42 std::vector<std::size_t> siblings{0, 1};
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);
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());
56 TEST(JetGroupUnionTester, two_elem_withoverlap) {
57 std::vector<std::size_t> siblings{0, 1};
60 satisfiedBy[0] = std::vector<std::size_t> {0, 1, 2};
61 satisfiedBy[1] = std::vector<std::size_t> {3, 1, 5};
63 auto collector = std::unique_ptr<ITrigJetHypoInfoCollector>(
nullptr);
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());