anchor.diff:                    args = [?KEY, [{1.0 * I, edis_util:integer_to_binary(I)} || I <- lists:seq(1, 10000)]],
                     group = zsets, result_type = number}),
     ok;
  -init_per_round(Fun, Keys) when Fun =:= zrank->
  +init_per_round(Fun, Keys) when Fun =:= zrank;
  +                               Fun =:= zrem_one ->
     edis_db:run(
       edis_db:process(0),
       #edis_command{cmd = <<"ZADD">>,
  
positive.code:          quit/0, quit_per_testcase/1, quit_per_round/2]).
  -export([zadd/1, zadd_one/1, zcard/1, zcount_n/1, zcount_m/1, zincrby/1,
           zinterstore_min/1, zinterstore_n/1, zinterstore_k/1, zinterstore_m/1,
           zrange_n/1, zrange_m/1, zrangebyscore_n/1, zrangebyscore_m/1, zrank/1]).
  
  %% ====================================================================
  %% External functions
  
negative.code:   catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"ZRANK">>, args = [?KEY, Key], group = zsets, result_type = number}).
  
  -spec zrem_one([binary()]) -> pos_integer().
  zrem_one([Key|_]) ->
    catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"ZREM">>, args = [?KEY, Key], group = zsets, result_type = number}).
  
  -spec zrem([binary()]) -> pos_integer().
  zrem(Keys) ->
    catch edis_db:run(
      edis_db:process(0),
      #edis_command{cmd = <<"ZREM">>, args = [?KEY | Keys], group = zsets, result_type = number}).