just wanted to ask what's currently being considered the best way to unit test controller classes not extending SubModuleController. For example, how do I test AbstractWindowController or plain old IController implementations? AbstractSubModuleControllerTest does clearly not qualify there...

Please note that this only a work-around for current shortcomings in Riena itself. Here's my wish-list to make this workaround unnecessary in the future:

* AbstractWindowController.getRidget(...) should behave similar to NavigationNodeController<ISubModuleNode>.getRidget(...) when invoked from within a unit test; that is: generate the (mock) ridgets automatically at the time they're first requested.
* There should be an equivalent to AbstractSubModuleControllerTest that people could use to unit test their AbstractWindowController.
* All relevant Riena classes should always check for null when calling getUIControl() on their ridgets (e.g. EmbeddedTitleBarRidget.dispose() or DefaultActionManager.activate() currently fail to do so).

public AbstractTestableWindowController() {
// This becomes necessary due to the fact the EmbeddedTitleBarRidget fails
// to check for getUIControl() returning null when called in the scope of
// its dispose() method.
ClassRidgetMapper.getInstance().addMapping(IWindowRidget.cla ss, ShellRidget.class);
}

@Override
public void addDefaultAction(IRidget focusRidget, IActionRidget action) {
// This becomes necessary due to the fact the DefaultActionManager fails
// to check for getUIControl() returning null when called in the scope of
// its activate() method. We'll ignore this for now, since there's no
// chance of any unit test hitting the ENTER key after all.
}