anchor.diff:      % FIXME - test the side effects (send to owner)
       [ ?_assertMatch( { noreply, #state{ context = context1 } }, R1 )
       , ?_assertMatch( { stop, reason, #state{ context = context2 } }, R2 )
  +    ].
  +
  +test_code_change( S0 ) ->
  +    R1 = code_change( make_ref(), S0, go_well ),
  +    R2 = code_change( make_ref(), S0, go_wrong ),
  +    [ ?_assertMatch( { ok, _Ctx }, R1 )
  +    , ?_assertMatch( { error, _Error }, R2 )
       ].
   
   
  
positive.code: 
  impl_func_to_action_name( start_driver ) -> start;
  impl_func_to_action_name( stop_driver ) -> stop;
  impl_func_to_action_name( get_event ) -> event.
  
  send_owner( State, Event, Msg, Id ) ->
      State#state.owner ! { Event, Msg, Id }.
  
negative.code:     ok.
  
  
  code_change( OldVsn, State, Extra ) ->
      call_impl( code_change, [ OldVsn, State#state.context, Extra ], State ).
  
  
  %% ===================================================================
  