Changeset d85532 for src/Patterns/Observer/unittests/ObserverUnitTest.cpp
- Timestamp:
- Dec 13, 2011, 12:00:30 PM (14 years ago)
- Children:
- b760ac5
- Parents:
- 2c11c1
- git-author:
- Frederik Heber <heber@…> (12/02/11 10:10:17)
- git-committer:
- Frederik Heber <heber@…> (12/13/11 12:00:30)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Patterns/Observer/unittests/ObserverUnitTest.cpp
r2c11c1 rd85532 68 68 notificationObserver2 = new NotificationObserver( 69 69 notificationObservable->getChannel(NotificationObservable::Operation2Notify)); 70 71 RelayObservable = new RelayTest; 72 RelayObserver = new RelayCountObserver(RelayObservable); 70 73 } 71 74 … … 79 82 delete obsset; 80 83 delete obsmap; 84 delete RelayObservable; 85 delete RelayObserver; 81 86 82 87 delete observer1; … … 237 242 } 238 243 244 void ObserverTest::relayTest() 245 { 246 // sign on some observables to the relay 247 simpleObservable1->signOn(RelayObservable); 248 simpleObservable2->signOn(RelayObservable); 249 250 // sign on an observer to the relay 251 RelayObservable->signOn(RelayObserver); 252 simpleObservable1->signOn(observer1); 253 254 // check that all is zero 255 CPPUNIT_ASSERT_EQUAL( 0, RelayObserver->updates ); 256 CPPUNIT_ASSERT_EQUAL( 0, observer1->updates ); 257 258 // signal update 259 simpleObservable1->changeMethod(); 260 261 // check that both the change 262 // (and RelayObserver checks being called correctly) 263 CPPUNIT_ASSERT_EQUAL( 1, RelayObserver->updates ); 264 CPPUNIT_ASSERT_EQUAL( 1, observer1->updates ); 265 266 // signal update through relay only 267 simpleObservable2->changeMethod(); 268 269 // check that only one got the change 270 CPPUNIT_ASSERT_EQUAL( 2, RelayObserver->updates ); 271 CPPUNIT_ASSERT_EQUAL( 1, observer1->updates ); 272 273 // check on signOff 274 simpleObservable1->signOff(RelayObservable); 275 simpleObservable1->signOff(observer1); 276 } 277 239 278 void ObserverTest::CircleDetectionTest() { 240 279 std::cout << std::endl << "Warning: the next test involved methods that can produce infinite loops." << std::endl;
Note:
See TracChangeset
for help on using the changeset viewer.
