@@ -847,7 +847,7 @@ TYPED_TEST_P(OperationsTest, SyncedEventFilter1)
847
847
}
848
848
849
849
// /////////////////////////////////////////////////////////////////////////////////////////////////
850
- // / EventTransform1
850
+ // / SyncedEventTransform1
851
851
// /////////////////////////////////////////////////////////////////////////////////////////////////
852
852
TYPED_TEST_P (OperationsTest, SyncedEventTransform1)
853
853
{
@@ -892,6 +892,59 @@ TYPED_TEST_P(OperationsTest, SyncedEventTransform1)
892
892
ASSERT_TRUE (std::find (results.begin (), results.end (), " HELLO VORLD, Alice Anderson" ) != results.end ());
893
893
}
894
894
895
+ // /////////////////////////////////////////////////////////////////////////////////////////////////
896
+ // / SyncedEventProcess1
897
+ // /////////////////////////////////////////////////////////////////////////////////////////////////
898
+ TYPED_TEST_P (OperationsTest, SyncedEventProcess1)
899
+ {
900
+ using D = typename SyncedEventProcess1::MyDomain;
901
+
902
+ std::vector<float > results;
903
+
904
+ auto in1 = MakeEventSource<D,int >();
905
+ auto in2 = MakeEventSource<D,int >();
906
+
907
+ auto mult = MakeVar<D>(10 );
908
+
909
+ auto merged = Merge (in1, in2);
910
+ int callCount = 0 ;
911
+
912
+ auto processed = Process<float >(merged,
913
+ With (mult),
914
+ [&] (EventRange<int > range, EventInserter<float > out, int mult)
915
+ {
916
+ for (const auto & e : range)
917
+ {
918
+ *out = 0 .1f * e * mult;
919
+ *out = 1 .5f * e * mult;
920
+ }
921
+
922
+ callCount++;
923
+ });
924
+
925
+ Observe (processed,
926
+ [&] (float s)
927
+ {
928
+ results.push_back (s);
929
+ });
930
+
931
+ DoTransaction<D>([&] {
932
+ in1 << 10 << 20 ;
933
+ });
934
+
935
+ in2 << 30 ;
936
+
937
+ ASSERT_EQ (results.size (), 6 );
938
+ ASSERT_EQ (callCount, 2 );
939
+
940
+ ASSERT_EQ (results[0 ], 10 .0f );
941
+ ASSERT_EQ (results[1 ], 150 .0f );
942
+ ASSERT_EQ (results[2 ], 20 .0f );
943
+ ASSERT_EQ (results[3 ], 300 .0f );
944
+ ASSERT_EQ (results[4 ], 30 .0f );
945
+ ASSERT_EQ (results[5 ], 450 .0f );
946
+ }
947
+
895
948
// /////////////////////////////////////////////////////////////////////////////////////////////////
896
949
REGISTER_TYPED_TEST_CASE_P
897
950
(
@@ -911,7 +964,8 @@ REGISTER_TYPED_TEST_CASE_P
911
964
SyncedIterate3,
912
965
SyncedIterate4,
913
966
SyncedEventFilter1,
914
- SyncedEventTransform1
967
+ SyncedEventTransform1,
968
+ SyncedEventProcess1
915
969
);
916
970
917
971
} // ~namespace
0 commit comments