anchor.diff:  -behaviour(edis_bench).
   
   -define(KEY, <<"test-set">>).
  +-define(KEY2, <<"test-set2">>).
   
   -include("edis.hrl").
   
   -export([all/0,
            init/0, init_per_testcase/1, init_per_round/2,
            quit/0, quit_per_testcase/1, quit_per_round/2]).
  --export([sadd/1]).
  +-export([sadd/1, scard/1, sdiff/1]).
   
   %% ====================================================================
   %% External functions
  
positive.code:   catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"SADD">>, args = [?KEY | Keys],
                    group = sets, result_type = number}).
negative.code: quit_per_testcase(_Function) -> ok.
  
  -spec init_per_round(atom(), [binary()]) -> ok.
  init_per_round(scard, Keys) -> sadd(Keys), ok;
  init_per_round(sdiff, Keys) ->
    edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"SADD">>,
                    args = [?KEY2 | lists:map(fun edis_util:integer_to_binary/1, lists:seq(1, 100))],
                    group = sets, result_type = number}),
    sadd(Keys),
    ok;
  init_per_round(_Fun, _Keys) ->
    _ = edis_db:run(
          edis_db:process(0),
  