1 #include "signals_test.h"
2 #include "pbd/signals.h"
6 CPPUNIT_TEST_SUITE_REGISTRATION (SignalsTest);
14 PBD::Signal0<void> Fred;
26 SignalsTest::testEmission ()
28 Emitter* e = new Emitter;
29 PBD::ScopedConnection c;
30 e->Fred.connect_same_thread (c, boost::bind (&receiver));
35 CPPUNIT_ASSERT_EQUAL (2, N);
37 e->Fred.connect_same_thread (c, boost::bind (&receiver));
40 CPPUNIT_ASSERT_EQUAL (2, N);
44 SignalsTest::testDestruction ()
46 Emitter* e = new Emitter;
47 PBD::ScopedConnection c;
48 e->Fred.connect_same_thread (c, boost::bind (&receiver));
53 CPPUNIT_ASSERT (true);
56 class Receiver : public PBD::ScopedConnectionList
59 Receiver (Emitter* e) {
60 e->Fred.connect_same_thread (*this, boost::bind (&Receiver::receiver, this));
64 cout << "Receiver::receiver\n";
70 SignalsTest::testScopedConnectionList ()
72 Emitter* e = new Emitter;
73 Receiver* r = new Receiver (e);
80 CPPUNIT_ASSERT_EQUAL (1, N);