@@ -270,9 +270,9 @@ TYPED_TEST_P(OperationsTest, IterateByRef1)
270270}
271271
272272// /////////////////////////////////////////////////////////////////////////////////////////////////
273- // / GenerateEvents test
273+ // / SyncedTransform1 test
274274// /////////////////////////////////////////////////////////////////////////////////////////////////
275- TYPED_TEST_P (OperationsTest, GenerateEvents1 )
275+ TYPED_TEST_P (OperationsTest, SyncedTransform1 )
276276{
277277 auto in1 = MyDomain::MakeVar (1 );
278278 auto in2 = MyDomain::MakeVar (1 );
@@ -284,23 +284,30 @@ TYPED_TEST_P(OperationsTest, GenerateEvents1)
284284 auto src1 = MyDomain::MakeEventSource ();
285285 auto src2 = MyDomain::MakeEventSource<int >();
286286
287- auto out1 = GenerateEvents (src1, [] (int sum, int prod, int diff) {
287+ auto out1 = Transform (src1, With (sum,prod,diff) , [] (int sum, int prod, int diff) {
288288 return make_tuple (sum, prod, diff);
289- }, sum, prod, diff );
289+ });
290290
291- auto out2 = GenerateEvents (src2, [] (int e, int sum, int prod, int diff) {
291+ auto out2 = Transform (src2, With (sum,prod,diff) , [] (int e, int sum, int prod, int diff) {
292292 return make_tuple (e, sum, prod, diff);
293- }, sum, prod, diff);
293+ });
294+
295+ int obsCount1 = 0 ;
296+ int obsCount2 = 0 ;
297+
298+ Observe (out1, [&] (const tuple<int ,int ,int >& t) {
299+ ++obsCount1;
294300
295- Observe (out1, [] (const tuple<int ,int ,int >& t) {
296301 ASSERT_EQ (get<0 >(t), 33 );
297302 ASSERT_EQ (get<1 >(t), 242 );
298303 ASSERT_EQ (get<2 >(t), 11 );
299304
300305 DetachThisObserver ();
301306 });
302307
303- Observe (out2, [] (const tuple<int ,int ,int ,int >& t) {
308+ Observe (out2, [&] (const tuple<int ,int ,int ,int >& t) {
309+ ++obsCount2;
310+
304311 ASSERT_EQ (get<0 >(t), 42 );
305312 ASSERT_EQ (get<1 >(t), 33 );
306313 ASSERT_EQ (get<2 >(t), 242 );
@@ -315,19 +322,26 @@ TYPED_TEST_P(OperationsTest, GenerateEvents1)
315322 src1.Emit ();
316323 src2.Emit (42 );
317324
318- Observe (out1, [] (const tuple<int ,int ,int >& t) {
319- ASSERT_EQ (get<0 >(t), 3300 );
325+ ASSERT_EQ (obsCount1, 1 );
326+ ASSERT_EQ (obsCount2, 1 );
327+
328+ Observe (out1, [&] (const tuple<int ,int ,int >& t) {
329+ ++obsCount1;
330+
331+ ASSERT_EQ (get<0 >(t), 330 );
320332 ASSERT_EQ (get<1 >(t), 24200 );
321- ASSERT_EQ (get<2 >(t), 1100 );
333+ ASSERT_EQ (get<2 >(t), 110 );
322334
323335 DetachThisObserver ();
324336 });
325337
326- Observe (out2, [] (const tuple<int ,int ,int ,int >& t) {
338+ Observe (out2, [&] (const tuple<int ,int ,int ,int >& t) {
339+ ++obsCount2;
340+
327341 ASSERT_EQ (get<0 >(t), 420 );
328- ASSERT_EQ (get<1 >(t), 3300 );
342+ ASSERT_EQ (get<1 >(t), 330 );
329343 ASSERT_EQ (get<2 >(t), 24200 );
330- ASSERT_EQ (get<3 >(t), 1100 );
344+ ASSERT_EQ (get<3 >(t), 110 );
331345
332346 DetachThisObserver ();
333347 });
@@ -337,6 +351,9 @@ TYPED_TEST_P(OperationsTest, GenerateEvents1)
337351
338352 src1.Emit ();
339353 src2.Emit (420 );
354+
355+ ASSERT_EQ (obsCount1, 2 );
356+ ASSERT_EQ (obsCount2, 2 );
340357}
341358
342359// /////////////////////////////////////////////////////////////////////////////////////////////////
@@ -352,7 +369,7 @@ REGISTER_TYPED_TEST_CASE_P
352369 Snapshot1,
353370 FoldByRef1,
354371 IterateByRef1,
355- GenerateEvents1
372+ SyncedTransform1
356373);
357374
358375} // ~namespace
0 commit comments