Lumiera  0.pre.03
»edit your freedom«
test-nexus.hpp File Reference

Go to the source code of this file.

Description

A fake UI backbone for investigations and unit testing.

Any relevant element within the Lumiera GTK UI is connected to the UI-Bus So for testing and investigation we need a white room setup to provide an instrumented backbone to run any test probes against. The test::Nexus allows to hook up a generic interface element, to participate in a simulated interface interaction.

This class test::Nexus acts as front-end for unit tests, while the actual implementation of a test rigged mock interface backbone remains an implementation detail. The purpose of this setup is to capture messages sent from elements operated within a test setup and directed at "core services" (that is, towards a presentation state manager or towards the Steam-Layer for command invocation). Test code may then verify the proper shape and incidence of these messages.

See also
[abstract-tangible-test.cpp]
[BusTerm_test]

Definition in file test-nexus.hpp.

#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "stage/ctrl/bus-term.hpp"
#include "stage/model/tangible.hpp"
#include "stage/ctrl/state-manager.hpp"
#include "test/placeholder-command.hpp"
#include "lib/test/event-log.hpp"
#include "lib/diff/gen-node.hpp"
#include <functional>
#include <string>

Classes

class  Nexus
 Mock UI backbone for unit testing. More...
 

Namespaces

 stage
 Lumiera GTK UI implementation root.