Lumiera
0.pre.03
»edit your freedom«
|
Contrary to the related ui-element test, here we focus on the bus side of the standard interactions.
This test enacts the fundamental generic communication patterns to verify the messaging behaviour
Definition at line 135 of file bus-term-test.cpp.
Private Member Functions | |
void | attachNewBusTerm () |
void | captureStateMark () |
void | clearStates () |
void | commandInvocation () |
void | pushDiff () |
void | replayStateMark () |
virtual void | run (Arg) |
void | verifyNotifications () |
Static Private Member Functions | |
static string | memLocation (Tangible &uiElm) |
|
inlineprivate |
Every tangible UI-element bears an embedded BusTerm member. Since the latter requires another, up-link BusTerm on construction, connection to the UI-Bus is structurally ensured. Moreover, when hooking up a new UI-element, the initialisation of the embedded BusTerm will cause a down-link connection to be installed into the central routing table within the Nexus, the hub of the UI-Bus. Routing and addressing is based on the UI-element's unique EntryID, destruction of the element, through invocation of BusTerm's dtor, will ensure deregistration from the Hub.
Definition at line 163 of file bus-term-test.cpp.
References EventMatch::arg(), EventMatch::beforeCall(), EventMatch::beforeEvent(), EventLog::ensureNot(), BusTerm::mark(), MARK_TEST_FUN, EventMatch::on(), Nexus::testUI(), EventLog::verify(), and EventLog::verifyCall().
|
inlineprivate |
Definition at line 226 of file bus-term-test.cpp.
References MARK_TEST_FUN.
|
inlineprivate |
Definition at line 280 of file bus-term-test.cpp.
References MARK_TEST_FUN.
|
inlineprivate |
Definition at line 324 of file bus-term-test.cpp.
References MARK_TEST_FUN.
|
inlineprivate |
Definition at line 356 of file bus-term-test.cpp.
References MARK_TEST_FUN, and Nexus::testUI().
|
inlineprivate |
Definition at line 461 of file bus-term-test.cpp.
References MARK_TEST_FUN, Tangible::slotExpand(), and Nexus::testUI().
|
inlineprivate |
Since this test focuses on the bus side of standard interactions, it seems indicated to simulate the complete invocation situation, which involves passing thread boundaries. The main thread running this test shall enact the role of the UI event thread (since the UI-Bus in the real application is confined to this UI thread). Thus we'll start another thread to enact the role of the Session, to produce diff messages and "cast" them towards the UI.
Independent heap allocated diff generator. Implements the IterSource<DiffStep> interface and will be pulled from the GUI-Thread for actually generating the diff. At this point, it needs to access the shared session data with proper locking, and derive a representation of the "changes" in diff format
launch the Session Thread and start injecting Borgs
Definition at line 563 of file bus-term-test.cpp.
References MARK_TEST_FUN.