MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / TEST

Function TEST

src/core/test/utils/event.cpp:36–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34} // namespace
35
36TEST(TestEvent, Simple) {
37 SyncEventConnecter conn;
38
39 int ev0_check = 0;
40 auto on_ev0 = [&ev0_check](const Event0& ev) {
41 ASSERT_EQ(2, ev.x);
42 ++ev0_check;
43 };
44
45 int ev1_check = 0;
46 auto on_ev1 = [&ev1_check](const Event1& ev) {
47 ASSERT_EQ(3, ev.y);
48 ++ev1_check;
49 };
50
51 conn.register_receiver_permanent<Event0>(on_ev0);
52 auto ts = conn.version();
53 conn.signal_inplace<Event0>(2);
54 conn.signal_inplace<Event1>(3);
55
56 ASSERT_EQ(ts, conn.version());
57
58 {
59 auto hdl = conn.register_receiver<Event1>(on_ev1);
60 ASSERT_EQ(ts + 1, conn.version());
61 conn.signal_inplace<Event0>(2);
62 conn.signal_inplace<Event1>(3);
63 ASSERT_EQ(ts + 1, conn.version());
64 }
65 ASSERT_EQ(ts + 2, conn.version());
66 conn.signal_inplace<Event0>(2);
67 conn.signal_inplace<Event1>(3);
68
69 ASSERT_EQ(3, ev0_check);
70 ASSERT_EQ(1, ev1_check);
71}
72
73TEST(TestEvent, MultiRecv) {
74 SyncEventConnecter conn;

Callers

nothing calls this directly

Calls 2

versionMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected