@@ -162,7 +162,7 @@ TEST_CASE("CounterRemover, CallbackList, has parameters")
162
162
163
163
TEST_CASE (" CounterRemover, HeterEventDispatcher" )
164
164
{
165
- eventpp::HeterEventDispatcher<int , eventpp::HeterTuple<void ()> > dispatcher;
165
+ eventpp::HeterEventDispatcher<int , eventpp::HeterTuple<void (), void ( int ) > > dispatcher;
166
166
constexpr int event = 3 ;
167
167
168
168
std::vector<int > dataList (4 );
@@ -174,7 +174,7 @@ TEST_CASE("CounterRemover, HeterEventDispatcher")
174
174
eventpp::counterRemover (dispatcher).prependListener (event, [&dataList]() {
175
175
++dataList[1 ];
176
176
});
177
- auto handle = eventpp::counterRemover (dispatcher).appendListener (event, [&dataList]() {
177
+ auto handle = eventpp::counterRemover (dispatcher).appendListener (event, [&dataList](int ) {
178
178
++dataList[2 ];
179
179
}, 2 );
180
180
eventpp::counterRemover (dispatcher).insertListener (event, [&dataList]() {
@@ -183,22 +183,27 @@ TEST_CASE("CounterRemover, HeterEventDispatcher")
183
183
184
184
REQUIRE (dataList == std::vector<int > { 0 , 0 , 0 , 0 });
185
185
186
- dispatcher.dispatch (event);
186
+ dispatcher.dispatch (event); // for void()
187
+ REQUIRE (dataList == std::vector<int > { 1 , 1 , 0 , 1 });
188
+ dispatcher.dispatch (event, 5 ); // for void(int)
187
189
REQUIRE (dataList == std::vector<int > { 1 , 1 , 1 , 1 });
188
190
189
191
dispatcher.dispatch (event);
192
+ dispatcher.dispatch (event, 5 );
190
193
REQUIRE (dataList == std::vector<int > { 2 , 1 , 2 , 2 });
191
194
192
195
dispatcher.dispatch (event);
196
+ dispatcher.dispatch (event, 5 );
193
197
REQUIRE (dataList == std::vector<int > { 3 , 1 , 2 , 3 });
194
198
195
199
dispatcher.dispatch (event);
200
+ dispatcher.dispatch (event, 5 );
196
201
REQUIRE (dataList == std::vector<int > { 4 , 1 , 2 , 3 });
197
202
}
198
203
199
204
TEST_CASE (" CounterRemover, HeterCallbackList" )
200
205
{
201
- eventpp::HeterCallbackList<eventpp::HeterTuple<void ()> > callbackList;
206
+ eventpp::HeterCallbackList<eventpp::HeterTuple<void (), void ( int ) > > callbackList;
202
207
203
208
std::vector<int > dataList (4 );
204
209
@@ -209,7 +214,7 @@ TEST_CASE("CounterRemover, HeterCallbackList")
209
214
eventpp::counterRemover (callbackList).prepend ([&dataList]() {
210
215
++dataList[1 ];
211
216
});
212
- auto handle = eventpp::counterRemover (callbackList).append ([&dataList]() {
217
+ auto handle = eventpp::counterRemover (callbackList).append ([&dataList](int ) {
213
218
++dataList[2 ];
214
219
}, 2 );
215
220
eventpp::counterRemover (callbackList).insert ([&dataList]() {
@@ -219,15 +224,20 @@ TEST_CASE("CounterRemover, HeterCallbackList")
219
224
REQUIRE (dataList == std::vector<int > { 0 , 0 , 0 , 0 });
220
225
221
226
callbackList ();
227
+ REQUIRE (dataList == std::vector<int > { 1 , 1 , 0 , 1 });
228
+ callbackList (5 );
222
229
REQUIRE (dataList == std::vector<int > { 1 , 1 , 1 , 1 });
223
230
224
231
callbackList ();
232
+ callbackList (5 );
225
233
REQUIRE (dataList == std::vector<int > { 2 , 1 , 2 , 2 });
226
234
227
235
callbackList ();
236
+ callbackList (5 );
228
237
REQUIRE (dataList == std::vector<int > { 3 , 1 , 2 , 3 });
229
238
230
239
callbackList ();
240
+ callbackList (5 );
231
241
REQUIRE (dataList == std::vector<int > { 4 , 1 , 2 , 3 });
232
242
}
233
243
0 commit comments