@@ -60,25 +60,17 @@ class Canary : public std::string {
60
60
61
61
class RouteTests : public StrictMock <Test> {
62
62
public:
63
- RouteSink<RouteTests> sink0{this , &RouteTests::handleSink0};
64
- RouteSink<RouteTests, int > sink1{this , &RouteTests::handleSink1};
65
- RoutePassThrough<RouteTests, int > passThrough1a{this , &RouteTests::handlePassThrough1a};
66
- RoutePassThrough<RouteTests, int > passThrough1b{this , &RouteTests::handlePassThrough1b};
67
- RouteSink<RouteTests, int , bool &, NonCopyableThing const &, Canary, std::vector< int >&&> sink5 {this , &RouteTests::handleSink5x };
63
+ RouteSink<RouteTests> sink0{this , &RouteTests::handleSink0};
64
+ RouteSink<RouteTests, int > sink1{this , &RouteTests::handleSink1};
65
+ RoutePassThrough<RouteTests, int > passThrough1a{this , &RouteTests::handlePassThrough1a};
66
+ RoutePassThrough<RouteTests, int > passThrough1b{this , &RouteTests::handlePassThrough1b};
67
+ RouteSink<RouteTests, int , bool &, NonCopyableThing const &, Canary> sink4 {this , &RouteTests::handleSink4 };
68
68
69
69
MOCK_METHOD0 (handleSink0, void ());
70
70
MOCK_METHOD1 (handleSink1, void (int ));
71
71
MOCK_METHOD1 (handlePassThrough1a, bool (int ));
72
72
MOCK_METHOD1 (handlePassThrough1b, bool (int ));
73
- MOCK_METHOD4 (handleSink5, void (int , bool &, NonCopyableThing const &, Canary));
74
-
75
- void handleSink5x (int a, bool & b, NonCopyableThing const & c, Canary d, std::vector<int >&& e)
76
- {
77
- // This extra function exists just to handle the r-value reference.
78
- // The move cannot be done properly in a mocked method.
79
- std::vector<int > x = std::move (e);
80
- handleSink5 (a, b, c, d);
81
- }
73
+ MOCK_METHOD4 (handleSink4, void (int , bool &, NonCopyableThing const &, Canary));
82
74
};
83
75
84
76
@@ -92,18 +84,16 @@ TEST_F(RouteTests, SinkPassesArgsAsDefined)
92
84
NonCopyableThing thing;
93
85
Canary canary;
94
86
canary.bear ();
95
- std::vector<int > data{1 , 2 , 3 };
96
87
97
- EXPECT_CALL (*this , handleSink5 (123 , _, Ref (thing), Eq (" alive" )))
88
+ EXPECT_CALL (*this , handleSink4 (123 , _, Ref (thing), Eq (" alive" )))
98
89
.WillOnce (DoAll (
99
90
SetArgReferee<1 >(true ),
100
91
InvokeArgument<3 >()
101
92
));
102
- sink5 (123 , flag, thing, canary, std::move (data) );
93
+ sink4 (123 , flag, thing, canary);
103
94
104
95
EXPECT_THAT (flag, true );
105
96
EXPECT_THAT (canary, Eq (" alive" ));
106
- EXPECT_THAT (data, IsEmpty ());
107
97
}
108
98
109
99
TEST_F (RouteTests, SourceIsNoopWhenUnbound)
@@ -117,8 +107,8 @@ TEST_F(RouteTests, SourceCallsSink)
117
107
RouteSource<> source0;
118
108
source0 >> sink0;
119
109
120
- RouteSource<int , bool &, NonCopyableThing const &, Canary, std::vector< int >&&> source5 ;
121
- source5 >> sink5 ;
110
+ RouteSource<int , bool &, NonCopyableThing const &, Canary> source4 ;
111
+ source4 >> sink4 ;
122
112
123
113
124
114
EXPECT_CALL (*this , handleSink0 ())
@@ -130,17 +120,15 @@ TEST_F(RouteTests, SourceCallsSink)
130
120
NonCopyableThing thing;
131
121
Canary canary;
132
122
canary.bear ();
133
- std::vector<int > data{1 , 2 , 3 };
134
123
135
- EXPECT_CALL (*this , handleSink5 (123 , _, Ref (thing), Eq (" alive" )))
124
+ EXPECT_CALL (*this , handleSink4 (123 , _, Ref (thing), Eq (" alive" )))
136
125
.WillOnce (DoAll (
137
126
SetArgReferee<1 >(true ),
138
127
InvokeArgument<3 >()
139
128
));
140
- source5 (123 , flag, thing, canary, std::move (data) );
129
+ source4 (123 , flag, thing, canary);
141
130
EXPECT_THAT (flag, true );
142
131
EXPECT_THAT (canary, Eq (" alive" ));
143
- EXPECT_THAT (data, IsEmpty ());
144
132
}
145
133
146
134
TEST_F (RouteTests, PassThroughsAreInvokedInBetween)
0 commit comments