anchor.diff:      meck:expect(amoc_dist, do, fun(sample_test, 0, []) -> {ok, mocked} end);
   setup_meck(start_scenario_with_users_and_settings) ->
       meck:expect(amoc_dist, get_state, fun() -> idle end),
  -    meck:expect(amoc_dist, do, fun(sample_test, 10, Settings) ->
  -                                       ?assertEqual(lists:sort(Settings), lists:sort(settings())),
  -                                       {ok, mocked}
  -                               end);
  +    meck:expect(amoc_dist, do,
  +                fun(sample_test, 10, Settings) ->
  +                    ?assertEqual(lists:sort(Settings), lists:sort(settings())),
  +                    {ok, mocked}
  +                end);
  +setup_meck(fail_to_start_when_amoc_dist_fails) ->
  +    meck:expect(amoc_dist, get_state, fun() -> idle end),
  +    meck:expect(amoc_dist, do,
  +                fun(sample_test, 10, Settings) ->
  +                    ?assertEqual(lists:sort(Settings), lists:sort(settings())),
  +                    {error, mocked}
  +                end);
   setup_meck(stop_scenario) ->
       meck:expect(amoc_dist, get_state, fun() -> running end),
       meck:expect(amoc_dist, stop, fun() -> {ok, mocked} end);
  +setup_meck(fail_to_stop_when_amoc_dist_fails) ->
  +    meck:expect(amoc_dist, get_state, fun() -> running end),
  +    meck:expect(amoc_dist, stop, fun() -> {error, mocked} end);
   setup_meck(add_users) ->
       meck:expect(amoc_dist, get_state, fun() -> running end),
       meck:expect(amoc_dist, add, fun(10) -> {ok, mocked} end);
  +setup_meck(fail_to_add_users_when_amoc_dist_fails) ->
  +    meck:expect(amoc_dist, get_state, fun() -> running end),
  +    meck:expect(amoc_dist, add, fun(10) -> {error, mocked} end);
   setup_meck(add_users_on_nodes) ->
       meck:expect(amoc_dist, get_state, fun() -> running end),
       meck:expect(amoc_dist, add, fun(10, [node1@host1, node2@host2]) -> {ok, mocked} end);
   setup_meck(remove_users) ->
       meck:expect(amoc_dist, get_state, fun() -> running end),
       meck:expect(amoc_dist, remove, fun(10, false) -> {ok, mocked} end);
  +setup_meck(fail_to_remove_users_when_amoc_dist_fails) ->
  +    meck:expect(amoc_dist, get_state, fun() -> running end),
  +    meck:expect(amoc_dist, remove, fun(10, false) -> {error, mocked} end);
   setup_meck(remove_users_on_nodes) ->
       meck:expect(amoc_dist, get_state, fun() -> running end),
       meck:expect(amoc_dist, remove, fun(10, false, [node1@host1, node2@host2]) -> {ok, mocked} end);
  
positive.code:                 fun(Settings) ->
                          ?assertEqual(lists:sort(Settings), lists:sort(settings())),
                          {ok, mocked}
                  end);
  setup_meck(update_settings_on_nodes) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
  
negative.code:      fail_to_start_scenario_without_name,
       fail_to_start_with_invalid_settings,
       fail_to_start_when_not_idle,
       fail_to_start_when_amoc_dist_fails,
       stop_scenario,
       fail_to_stop_scenario_when_not_running,
       fail_to_stop_when_amoc_dist_fails,
       add_users,
       add_users_on_nodes,
       fail_to_add_users_when_not_running,
       fail_to_add_users_when_amoc_dist_fails,
       remove_users,
       remove_users_on_nodes,
       fail_to_remove_users_when_not_running,
       fail_to_remove_users_when_amoc_dist_fails,
       update_settings,
       update_settings_on_nodes,
       fail_to_update_settings_when_not_running,
       fail_to_update_settings_when_amoc_dist_fails,
       fail_to_update_with_invalid_settings].
  
  %% Setup and teardown
  