anchor.diff:      true.
   
   tester_foldr(_Config) ->
  +    prop_foldr([{{0.0},[],[],42,42,[],one,{}},{{0},[{}]}], all, 1),
       tester:test(?MODULE, prop_foldr, 3, rw_suite_runs(10000), [{threads, 2}]).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
positive.code:                             fun(K, AccIn) -> [?TEST_DB:get(DB1, K) | AccIn] end,
                              [],
                              Interval,
                              MaxNum),
      UnorderedFold = ?TEST_DB:foldl_unordered(DB1, fun(E, AccIn) -> [E | AccIn] end, []),
      %% we expect all data from fold to be in reversed order because of list
      %% accumulation. we need to reverse ScrubbedData, ExpInInterval and
      %% ExpInIntervalCounted.
      compare_lists(ScrubbedData, AllFold, "test_foldl1"),
      compare_lists(ExpInInterval, IntervalFold, "test_foldl2"),
      compare_lists(ExpInIntervalCounted, IntervalCountFold, "test_foldl3"),
      compare_lists(ScrubbedData, UnorderedFold, "test_foldl4"),
      ?TEST_DB:?CLOSE(DB1),
      true.
  
  tester_foldl(_Config) ->
      prop_foldl([{0.0}, {0}, {0.0}], {'(', {'*'}, {0}, ']'}, 4),
      prop_foldl([{foo}, {"bar"}, {42},{-1},{{"foobar"}},{{{0.3820862051907793}}},{0.39125416350624936}], all, 2),
      prop_foldl([{42},{-1},{{{0.3820862051907793}}},{0.39125416350624936}], all, 2),
  
negative.code:         write_scrubbed_to_db(?TEST_DB:new(randoms:getRandomString()), Data),
      ExpInInterval = [El || El <- ScrubbedData,
                             is_in(Interval, element(1, El))],
      ExpInIntervalCounted =
          case MaxNum >= length(ExpInInterval) of
              true ->
                  ExpInInterval;
              _ ->
                  EndIndex = length(ExpInInterval) - MaxNum,
                  Counted = lists:nthtail(EndIndex, ExpInInterval),
                  %% The same reason as for prop_foldl, but instead of adding, drop
                  %% all elements of the splitted sequence.
                  case MaxNum == 0 of
                      true ->
                          Counted;
                      _ ->
                          lists:dropwhile(fun(E) ->
                                  element(1, lists:nth(EndIndex, ExpInInterval)) ==
                                  element(1, E)
                          end, Counted)
                  end
          end,
  
      AllFold = ?TEST_DB:foldr(DB1, fun(K, AccIn) -> [?TEST_DB:get(DB1, K) | AccIn] end, []),
      IntervalFold = ?TEST_DB:foldr(DB1,
                                   fun(K, AccIn) -> [?TEST_DB:get(DB1, K) | AccIn] end,
  