@Test public void shouldEmitStateIfStateChanged() throws Exception { underTest.update(1); stateConsumer.assertValues("init!->1"); }
synchronized void update(E event) { Next<M, F> next = store.update(event); next.ifHasModel( new Consumer<M>() { @Override public void accept(M model) { dispatchModel(model); } }); dispatchEffects(next.effects()); }
EventProcessor { synchronized void update(E event) { Next<M, F> next = store.update(event); next.ifHasModel( new Consumer<M>() { @Override public void accept(M model) { dispatchModel(model); } }); dispatchEffects(next.effects()); } }
EventProcessor { synchronized void update(E event) { Next<M, F> next = store.update(event); next.ifHasModel( new Consumer<M>() { @Override public void accept(M model) { dispatchModel(model); } }); dispatchEffects(next.effects()); } EventProcessor(
      MobiusStore<M, E, F> store, Consumer<F> effectConsumer, Consumer<M> modelConsumer); }
EventProcessor { synchronized void update(E event) { Next<M, F> next = store.update(event); next.ifHasModel( new Consumer<M>() { @Override public void accept(M model) { dispatchModel(model); } }); dispatchEffects(next.effects()); } EventProcessor(
      MobiusStore<M, E, F> store, Consumer<F> effectConsumer, Consumer<M> modelConsumer);  }
EventProcessor { synchronized void update(E event) { Next<M, F> next = store.update(event); next.ifHasModel( new Consumer<M>() { @Override public void accept(M model) { dispatchModel(model); } }); dispatchEffects(next.effects()); } EventProcessor(
      MobiusStore<M, E, F> store, Consumer<F> effectConsumer, Consumer<M> modelConsumer);   }