MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / event

Method event

Tests/Libraries/AsyncStreams/AsyncStreamsTest.cpp:110–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110void SC::AsyncStreamsTest::event()
111{
112 Event<2, int> event;
113 SC_TEST_EXPECT((event.addListener<AsyncStreamsTest, &AsyncStreamsTest::funcCallback>(*this)));
114 event.emit(1);
115 SC_TEST_EXPECT(memberCalls == 1); // +1
116 SC_TEST_EXPECT((event.removeListener<AsyncStreamsTest, &AsyncStreamsTest::funcCallback>(*this)));
117 event.emit(1);
118 SC_TEST_EXPECT(memberCalls == 1); // +0
119 int value = 1;
120 SC_TEST_EXPECT((event.addListener<AsyncStreamsTest, &AsyncStreamsTest::funcCallback>(*this)));
121 event.emit(value);
122 SC_TEST_EXPECT(memberCalls == 2); // +1
123 SC_TEST_EXPECT((event.removeAllListenersBoundTo(*this)));
124 event.emit(value);
125 SC_TEST_EXPECT(memberCalls == 2); // +0
126 SC_TEST_EXPECT((event.addListener<AsyncStreamsTest, &AsyncStreamsTest::funcCallback>(*this)));
127 event.emit(move(value));
128 SC_TEST_EXPECT(memberCalls == 3); // +1
129 int lambdaCalls = 0;
130 auto lambda = [this, &lambdaCalls](int param)
131 {
132 SC_TEST_EXPECT(param == 1);
133 lambdaCalls++;
134 };
135 SC_TEST_EXPECT(event.addListener(lambda));
136 event.emit(1);
137 SC_TEST_EXPECT(memberCalls == 4); // +1
138 SC_TEST_EXPECT(lambdaCalls == 1); // +1
139 SC_TEST_EXPECT((event.removeListener<AsyncStreamsTest, &AsyncStreamsTest::funcCallback>(*this)));
140 event.emit(1);
141 SC_TEST_EXPECT(memberCalls == 4); // +0
142 SC_TEST_EXPECT(lambdaCalls == 2); // +1
143 SC_TEST_EXPECT(event.removeListener(lambda));
144 event.emit(1);
145 SC_TEST_EXPECT(memberCalls == 4); // +0
146 SC_TEST_EXPECT(lambdaCalls == 2); // +0
147}
148
149void SC::AsyncStreamsTest::readableSyncStream()
150{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected