MockController<E, S> constructor

MockController<E, S>()

Extend or mixin this class to mark the implementation as a MockController.

A mocked controller implements all fields and methods with a default implementation that does not throw a NoSuchMethodError, and may be further customized at runtime to define how it may behave using when.

Note: It is critical to explicitly provide the event and state types when extending MockController.

GOOD

class MockCounterController extends MockController<CounterEvent, int>
  implements CounterController {}

BAD

class MockCounterController extends MockController implements CounterController {}

Implementation

MockController() {
  when(() => mapEventToState(any())).thenAnswer((_) => Stream<S>.empty());
  when(() => add(any())).thenReturn(null);
}