anchor.diff:  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),
  
positive.code: -behaviour(edis_bench).
  
  -define(KEY, <<"test-set">>).
  
  -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]).
  
  %% ====================================================================
  %% External functions
  
negative.code:   catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"SADD">>, args = [?KEY | Keys],
                    group = sets, result_type = number}).
  
  -spec scard([binary()]) -> pos_integer().
  scard(_Keys) ->
    catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"SCARD">>, args = [?KEY], group = sets, result_type = number}).
  
  -spec sdiff([binary()]) -> [binary()].
  sdiff(_Keys) ->
    catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"SDIFF">>, args = [?KEY, ?KEY2], group = sets, result_type = multi_bulk}).