#include <utility>
#include <boost/shared_ptr.hpp>
#include <boost/test/unit_test.hpp>
#include <scroom/observable.hh>
◆ BOOST_AUTO_TEST_CASE() [1/9]
| BOOST_AUTO_TEST_CASE |
( |
deleting_observable_deletes_observer |
| ) |
|
315 std::list<TestObservable::Observer> observers;
318 Stuff const registration = observable->registerStrongObserver(observer);
319 BOOST_CHECK(registration);
323 BOOST_CHECK(!observer);
324 observers = observable->getObservers();
326 observer = weakObserver.lock();
332 BOOST_CHECK(!observer);
334 BOOST_CHECK(!observable);
335 BOOST_CHECK(!weakObserver.lock());
◆ BOOST_AUTO_TEST_CASE() [2/9]
| BOOST_AUTO_TEST_CASE |
( |
register_multiple_observers |
| ) |
|
177 std::list<TestObservable::Observer> observers;
180 Stuff r1 = observable->registerObserver(weakObserver);
181 Stuff r2 = observable->registerObserver(o2);
182 Stuff r3 = observable->registerStrongObserver(o3);
186 observers = observable->getObservers();
188 observers.remove(o1);
190 observers.remove(o2);
192 observers.remove(o3);
197 observers = observable->getObservers();
199 observers.remove(o1);
201 observers.remove(o2);
203 observers.remove(o3);
207 observers = observable->getObservers();
209 observers.remove(o1);
211 observers.remove(o2);
213 observers.remove(o3);
217 observers = observable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [3/9]
| BOOST_AUTO_TEST_CASE |
( |
register_observer |
| ) |
|
95 std::list<TestObservable::Observer> observers;
98 Stuff registration = observable->registerStrongObserver(observer);
99 BOOST_CHECK(registration);
100 observers = observable->getObservers();
106 BOOST_CHECK(!observer);
107 observers = observable->getObservers();
109 observer = weakObserver.lock();
113 registration.reset();
114 observers = observable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [4/9]
| BOOST_AUTO_TEST_CASE |
( |
register_observer_multiple_times |
| ) |
|
225 std::list<TestObservable::Observer> observers;
228 Stuff r1 = observable->registerStrongObserver(observer);
229 Stuff r2 = observable->registerStrongObserver(observer);
233 observers = observable->getObservers();
239 observers = observable->getObservers();
243 observers = observable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [5/9]
| BOOST_AUTO_TEST_CASE |
( |
register_observer_recursively |
| ) |
|
278 std::list<TestObservable::Observer> observers;
281 Stuff registration = recursiveObservable->registerObserver(observer);
282 BOOST_CHECK(registration);
283 observers = observable->getObservers();
286 observers = recursiveObservable->getObservers();
291 registration.reset();
292 observers = observable->getObservers();
294 observers = recursiveObservable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [6/9]
| BOOST_AUTO_TEST_CASE |
( |
register_weak_observer |
| ) |
|
123 std::list<TestObservable::Observer> observers;
126 Stuff registration = observable->registerObserver(weakObserver);
127 BOOST_CHECK(registration);
128 observers = observable->getObservers();
133 registration.reset();
134 BOOST_CHECK(!weakObserver.expired());
135 observers = observable->getObservers();
138 BOOST_CHECK(weakObserver.expired());
◆ BOOST_AUTO_TEST_CASE() [7/9]
| BOOST_AUTO_TEST_CASE |
( |
register_weak_observer_multiple_times |
| ) |
|
251 std::list<TestObservable::Observer> observers;
254 Stuff r1 = observable->registerObserver(observer);
255 Stuff r2 = observable->registerObserver(observer);
259 observers = observable->getObservers();
265 observers = observable->getObservers();
269 observers = observable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [8/9]
| BOOST_AUTO_TEST_CASE |
( |
registered_weak_observer_goes_away |
| ) |
|
146 std::list<TestObservable::Observer> observers;
149 Stuff registration = observable->registerObserver(observer);
150 BOOST_CHECK(registration);
151 observers = observable->getObservers();
158 BOOST_CHECK(!observer);
159 observers = observable->getObservers();
161 BOOST_CHECK(weakObserver.expired());
162 BOOST_CHECK(registration);
165 registration.reset();
166 observers = observable->getObservers();
◆ BOOST_AUTO_TEST_CASE() [9/9]
| BOOST_AUTO_TEST_CASE |
( |
shared_from_this |
| ) |
|
302 boost::shared_ptr<TestObservable const>
const copy2 = original;
303 boost::shared_ptr<TestObservable const>
const copy3 = copy2->shared_from_this<
TestObservable>();
boost::shared_ptr< TestObservable > Ptr
Definition: observable-tests.cc:35
Definition: observable-tests.cc:32
BOOST_CHECK_EQUAL(sample.expectedColors, originalColormap->colors.size())
boost::weak_ptr< TestObserver > WeakPtr
Definition: observable-tests.cc:23
boost::shared_ptr< TestObserver > Ptr
Definition: observable-tests.cc:22
static Ptr create()
Definition: observable-tests.cc:28
static Ptr create()
Definition: observable-tests.cc:44
BOOST_REQUIRE(originalColormap)
boost::shared_ptr< void > Stuff
Definition: stuff.hh:18
static Ptr create(TestObservable::Ptr child)
Definition: observable-tests.cc:76
boost::shared_ptr< TestRecursiveObservable > Ptr
Definition: observable-tests.cc:56