anchor.diff:       ?_test(unregister_case()),
        ?_test(register_two_case()),
        ?_test(double_check_env()),
  -     ?_test(not_interested_case()),
  -     ?_test(not_interested_valid_case()),
  +     ?_test(assigned_case()),
  +     ?_test(assigned_valid_case()),
        ?_test(request_one_case()),
        ?_test(mark_dropped_case()),
        ?_test(mark_all_dropped_case()),
  
positive.code:     end,
  
      case PieceIndex of
          not_interested ->
              {reply, {ok, not_interested}, State};
          assigned ->
              {reply, {ok, assigned}, State};
          Index ->
  
negative.code:     Pid ! die,
      etorrent_utils:wait(Ref).
  
  assigned_case() ->
      Has = etorrent_pieceset:from_list([], 3),
      Ret = ?chunkstate:request(1, Has, progress()),
      ?assertEqual({ok, assigned}, Ret).
  
  assigned_valid_case() ->
      Has = etorrent_pieceset:from_list([0], 3),
      _   = ?chunkstate:request(2, Has, progress()),
      ok  = ?chunkstate:stored(0, 0, 1, self(), progress()),
      ok  = ?chunkstate:stored( 0, 1, 1, self(), progress()),
      ok  = ?piecestate:valid(0, progress()),
      Ret = ?chunkstate:request(2, Has, progress()),
      ?assertEqual({ok, assigned}, Ret).
  
  request_one_case() ->
      Has = etorrent_pieceset:from_list([0], 3),
  