anchor.diff:      ?assertMatch({ok, [{1, 0, 1}]}, ?chunk_server:request_chunks(13, Has, 1)),
       ?assertMatch({ok, [{1, 1, 1}]}, ?chunk_server:request_chunks(13, Has, 1)).
   
  +get_all_request_case() ->
  +    Srv = initial_chunk_server(14),
  +    Has = etorrent_pieceset:from_list([0,1,2], 3),
  +    {ok, [{0, 0, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    {ok, [{0, 1, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    {ok, [{1, 0, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    {ok, [{1, 1, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    {ok, [{2, 0, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    {ok, [{2, 1, 1}]} = ?chunk_server:request_chunks(14, Has, 1),
  +    ?assertEqual({error, not_interested}, ?chunk_server:request_chunks(14, Has, 1)).
  +
   -endif.
  
positive.code:          ?_test(mark_fetched_noop_case()),
           ?_test(mark_valid_not_stored_case()),
           ?_test(mark_valid_stored_case()),
           ?_test(all_stored_marks_stored_case())
          ]}.
  
  lookup_registered_case() ->
  
negative.code: %% with each piece. When this set is empty the piece enters the stored
  %% state. 
  %%
  %% # Dropped requests
  %% A request may be dropped in three ways.
  %% - calling mark_dropped/3
  %% - calling mark_all_dropped/1
  %% - the peer crashes
  %%
  %% If mark_dropped/3 is called the chunk should be removed from
  %% the set of open requests and inserted into the set of assigned
  %% chunks for the piece.
  %%
  %% If mark_all_dropped/1 is called all chunks should be removed from
  %% the set of open requests and inserted into the chunk sets of each piece.
  %%
  %% If the peer crashes all chunks should be inserted into the chunk sets
  %% of each piece and the peer should be removed from the set of monitored
  %% peers.
  %%
  
  -spec register_chunk_server(torrent_id()) -> true.
  register_chunk_server(TorrentID) ->
  