ATLAS Offline Software
Loading...
Searching...
No Matches
MockJetWithLorentzVector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGHLTJETHYPOUNITTESTS_MOCKJETWITHLORENTZVECTOR_H
6#define TRIGHLTJETHYPOUNITTESTS_MOCKJETWITHLORENTZVECTOR_H
7
9#include "gtest/gtest.h"
10#include "gmock/gmock.h"
11#include <TLorentzVector.h>
12
13using ::testing::Invoke;
14using ::testing::Return;
15using ::testing::_;
16using ::testing::SetArgReferee;
17using ::testing::AnyNumber;
18
20public:
21
22 MockJetWithLorentzVector(const TLorentzVector& lv):m_lv{lv} {
23 ON_CALL(*this, eta())
24 .WillByDefault(Invoke(&m_lv, &TLorentzVector::Eta));
25 ON_CALL(*this, et())
26 .WillByDefault(Invoke(&m_lv,
27 static_cast<double(TLorentzVector::*)() const>
28 (&TLorentzVector::Et)));
29 }
30
34 MOCK_CONST_METHOD0(m, double ());
38 virtual TLorentzVector p4() const override {return m_lv;}
39 virtual std::string toString() const override {
40 double etav = eta();
41 double etv = et();
42 std::string s = "et: " + std::to_string(etv) +
43 " eta: " + std::to_string(etav);
44 return s;
45 }
46
47 MOCK_CONST_METHOD0(position, unsigned int());
48 MOCK_CONST_METHOD2(getAttribute, bool (const std::string&, float&));
49
50 // Had problems compiling mock method
51 // MOCK_CONST_METHOD0(xAODJet, std::optional<const xAOD::Jet*>);
52 virtual std::optional<const xAOD::Jet*> xAODJet() const override{
53 return std::optional<const xAOD::Jet*> ();
54 }
55 private:
56 TLorentzVector m_lv;
57
58};
59#endif
virtual double rapidity() const =0
virtual double m() const =0
virtual double eta() const =0
virtual double pt() const =0
virtual double et() const =0
virtual double phi() const =0
virtual double e() const =0
virtual bool getAttribute(const std::string &name, float &) const =0
virtual unsigned int position() const =0
virtual std::optional< const xAOD::Jet * > xAODJet() const override
MOCK_CONST_METHOD0(pt, double())
virtual std::string toString() const override
MOCK_CONST_METHOD0(phi, double())
MOCK_CONST_METHOD0(et, double())
MOCK_CONST_METHOD0(rapidity, double())
MOCK_CONST_METHOD0(e, double())
MOCK_CONST_METHOD0(position, unsigned int())
MOCK_CONST_METHOD2(getAttribute, bool(const std::string &, float &))
MockJetWithLorentzVector(const TLorentzVector &lv)
MOCK_CONST_METHOD0(m, double())
virtual TLorentzVector p4() const override
MOCK_CONST_METHOD0(eta, double())