anchor.diff:  % Test descriptions
   server_test_() ->
       { "start and stop server"
  -    , ?setup( test_is_alive ) }.
  +    , ?setup_server( test_is_alive ) }.
   
   
   device_start_stop_test_() ->
       { "start and stop device"
  -    , ?setup( test_start_stop_device ) }.
  +    , ?setup_server( test_start_stop_device ) }.
   
   
   device_list_test_() ->
       { "add and list devices"
  -    , ?setup( test_add_list_devices ) }.
  +    , ?setup_server( test_add_list_devices ) }.
   
   
   device_poll_event_test_() ->
       { "poll events"
  -    , ?setup( test_poll_device_event ) }.
  +    , ?setup_meck( test_poll_device_event ) }.
   
   
   device_start_response_test_() ->
       { "start response"
  -    , ?setup( test_start_response ) }.
  +    , ?setup_meck( test_start_response ) }.
   
   
   % setup functions
  -test_start() ->
  +setup_server() ->
       { ok, Pid } = start(),
  -    meck:new( lurch_dev, [] ),
  +    ok = setup_meck(),
       meck:expect( lurch_dev, start_async,
                    fun( _Driver, _Parameters ) -> { ok, make_ref(), make_ref() } end ),
       meck:expect( lurch_dev, stop_async,
  
positive.code:     ].
  
  
  test_poll_device_event( _Pid ) ->
      Tag = make_ref(),
      meck:expect( lurch_dev, request_event_async,
                   fun( _, _ ) -> { ok, Tag } end ),
  
negative.code:     , { "invalid event", ?_assertEqual( S0, S3 ) }
      ].
  
  test_start_response( ok ) ->
      DeviceId = make_ref(),
      Tag = make_ref(),
      Device = #device{ pid = DeviceId },
  