118
class MockSignalManager : public SignalManager
121
std::vector<SignalBase::Ptr> GetConnections() const { return connections_; }
119
125
TEST_F(TestGLibSignals, TestConstructions)
123
Signal0<void, TestSignals*> signal0;
124
Signal1<void, TestSignals*, string> signal1;
125
Signal2<void, TestSignals*, string, int> signal2;
126
Signal3<void, TestSignals*, string, int, float> signal3;
127
Signal4<void, TestSignals*, string, int, float, double> signal4;
128
Signal5<void, TestSignals*, string, int, float, double, gboolean> signal5;
129
Signal6<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal6;
131
Signal<void, TestSignals*> signal00;
132
Signal<void, TestSignals*, string> signal01;
133
Signal<void, TestSignals*, string, int> signal02;
134
Signal<void, TestSignals*, string, int, float> signal03;
135
Signal<void, TestSignals*, string, int, float, double> signal04;
136
Signal<void, TestSignals*, string, int, float, double, gboolean> signal05;
137
Signal<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal06;
127
Signal<void, TestSignals*> signal0;
128
Signal<void, TestSignals*, string> signal1;
129
Signal<void, TestSignals*, string, int> signal2;
130
Signal<void, TestSignals*, string, int, float> signal3;
131
Signal<void, TestSignals*, string, int, float, double> signal4;
132
Signal<void, TestSignals*, string, int, float, double, gboolean> signal5;
133
Signal<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal6;
140
136
TEST_F(TestGLibSignals, TestSignal0)
310
307
manager.Add(new Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_,
312
309
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback)));
311
EXPECT_EQ(manager.GetConnections().size(), 7);
314
TEST_F(TestGLibSignals, TestManagerAdditionTemplate)
316
MockSignalManager manager;
318
manager.Add<void, TestSignals*>(test_signals_, "signal0",
319
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback));
320
manager.Add<void, TestSignals*, const char*>(test_signals_, "signal1",
321
sigc::mem_fun(this, &TestGLibSignals::Signal1Callback));
322
manager.Add<void, TestSignals*, const char*, int>(test_signals_, "signal2",
323
sigc::mem_fun(this, &TestGLibSignals::Signal2Callback));
324
manager.Add<void, TestSignals*, const char*, int, float>(test_signals_, "signal3",
325
sigc::mem_fun(this, &TestGLibSignals::Signal3Callback));
326
manager.Add<void, TestSignals*, const char*, int, float, double>(test_signals_, "signal4",
327
sigc::mem_fun(this, &TestGLibSignals::Signal4Callback));
328
manager.Add<void, TestSignals*, const char*, int, float, double, gboolean>(test_signals_, "signal5",
329
sigc::mem_fun(this, &TestGLibSignals::Signal5Callback));
330
manager.Add<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, "signal6", sigc::mem_fun(this, &TestGLibSignals::Signal6Callback));
332
EXPECT_EQ(manager.GetConnections().size(), 7);
315
335
TEST_F(TestGLibSignals, TestManagerConnection)
317
SignalManager manager;
337
MockSignalManager manager;
319
339
manager.Add(new Signal<void, TestSignals*>(test_signals_,
330
350
EXPECT_TRUE(signal1_received_);
332
352
gboolean ret = FALSE;
333
manager.Add(new Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_,
335
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback)));
353
manager.Add<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, "signal6",
354
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback));
336
355
g_signal_emit_by_name(test_signals_, "signal6", "test", 100, 1.0f, 100.00, FALSE, 'x', &ret);
337
356
EXPECT_TRUE(signal6_received_);
338
357
EXPECT_TRUE(ret);