anchor.diff:                        }).
   -type rrDBStatus() :: [#rrNodeStatus{}].
   
  -% TEST CASE TYPES:
  -%   simple - run one sync round
  -%   times - measure sync time (building, protocol)
  -%   parts - get_chunk with limited items / leads to multiple bloom filters and/or successive merkle tree building
  -%   min_nodes - sync in an single node ring
  -
  -all() ->
  +basic_tests() ->
       [get_symmetric_keys_test,
        blobCoding,
        mapInterval,
  -     tester_minKeyInInterval,
  -     bloomSync_simple,
  -     bloomSync_FprCompare_check,
  -     bloomSync_times,
  -     bloomSync_parts,
  -     bloomSync_min_nodes,
  -     merkleSync_noOutdated,
  -     merkleSync_simple,
  -     merkleSync_parts,
  -     merkleSync_min_nodes,
  -     artSync_noOutdated,
  -     artSync_simple,
  -     artSync_min_nodes
  +     tester_minKeyInInterval].
  +
  +upd_tests() ->
  +    [upd_no_outdated,
  +     upd_min_nodes,     % sync in an single node ring
  +     upd_simple,        % run one sync round
  +     upd_parts].        % get_chunk with limited items / leads to multiple bloom filters and/or successive merkle tree building
  +
  +all() ->
  +    [{group, basic_tests},
  +     {group, upd_tests},
  +     bloomSync_times
        ].
  +
  +groups() ->
  +    [{basic_tests,  [parallel], basic_tests()},
  +     {upd_tests,    [sequence], [{upd_bloom,    [sequence], upd_tests()},
  +                                 {upd_merkle,   [sequence], upd_tests()},
  +                                 {upd_art,      [sequence], upd_tests()}]}
  +    ].
   
   suite() ->
       [
  
positive.code:     ct:pal("EXECUTION TIMES in microseconds (10^-6)~nBuildRing = ~w~nFillRing = ~w~nDBStatus = ~w~nGetVersionCount = ~w~nStopRing = ~w",
             [BuildRingTime, FillTime, DBStatusTime, GetVersionCountTime, StopRingTime]),
      ok.
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Merkle Tree Tests
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  merkleSync_noOutdated(Config) ->
      [Start, End] = start_sync(Config, 4, 1000, 0, 1, 0.1, get_merkle_tree_RepUpd_config()),
      ?assert(Start =:= End),
      ok.    
  
  merkleSync_simple(Config) ->
      [Start, End] = start_sync(Config, 4, 1000, 10, 1, 0.2, get_merkle_tree_RepUpd_config()),
      ?assert(Start < End),
      ok.
  
  merkleSync_min_nodes(Config) ->
      MConf = get_merkle_tree_RepUpd_config(),
      [Start, End] = start_sync(Config, 1, 1, 1000, 1, 0.2, MConf),
      ?assert(Start =:= End),
      ok.
  
  merkleSync_parts(Config) ->
      OldConf = get_merkle_tree_RepUpd_config(),
      MConf = lists:keyreplace(rep_update_max_items, 1, OldConf, {rep_update_max_items, 500}),
      [Start, End] = start_sync(Config, 4, 1000, 100, 1, 0.2, MConf),
      ?assert(Start < End),
      ok.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % ART Tests
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  artSync_noOutdated(Config) ->
      [Start, End] = start_sync(Config, 4, 1000, 0, 1, 0.1, get_art_RepUpd_config()),
      ?assert(Start =:= End),
      ok.
  
  artSync_simple(Config) ->
      [Start, End] = start_sync(Config, 4, 1000, 10, 1, 0.2, get_art_RepUpd_config()),
      ?assert(Start < End),    
      ok.
  
  artSync_min_nodes(Config) ->
      [Start, End] = start_sync(Config, 1, 1, 1000, 1, 0.2, get_art_RepUpd_config()),
      ?assert(Start =:= End),
      ok.    
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Helper Functions
  
negative.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Bloom Filter Tests
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  bloomSync_times(Config) ->
      %Parameter
  