10 #include <tracking/trackFindingCDC/utilities/Functional.h>
12 #include <gtest/gtest.h>
15 using namespace TrackFindingCDC;
18 TEST(TrackFindingCDCTest, utilities_clearIfApplicable)
21 std::vector<float> v{0, 1};
22 EXPECT_FALSE(v.empty());
25 invokeIfApplicable(Clear(), v);
28 EXPECT_TRUE(v.empty());
34 const typename T::value_type& operator()(
const T& container)
const
36 return container.back();
40 TEST(TrackFindingCDCTest, utilities_getIfApplicable)
43 const std::vector<float> v{0.0, 1.0};
44 EXPECT_FALSE(v.empty());
48 EXPECT_EQ(1.0, back(v));
51 EXPECT_EQ(1.0, Back()(v));
52 EXPECT_EQ(1.0, getIfApplicable<float>(Back(), v, -1.0));
55 EXPECT_EQ(-1.0, getIfApplicable<float>(Back(), f, -1.0));