anchor.diff:                  ?_test(test_copy_torrent()),
                   ?_test(test_info_filename()),
                   ?_test(test_info_hash()),
  -                ?_test(test_read_torrent())
  +                ?_test(test_read_torrent()),
  +                ?_test(test_read_info()),
  +                ?_test(test_write_info())
               ]}
           ]}
       ]}.
  
positive.code: %% @end
  -spec read_info(binary()) -> {ok, bencode()} | {error, atom()}.
  read_info(Infohash) ->
      File = info_path(Infohash),
      etorrent_bcoding:parse_file(File).
  
  
  %% @doc Rewrite the contents of the .info file of a torrent.
  %% @end
  
negative.code:     RawInfohash = etorrent_metainfo:get_infohash(Metadata),
      ?assertEqual(Infohash, info_hash_to_hex(RawInfohash)).
  
  test_read_info() ->
      {ok, Infohash} = ?MODULE:copy_torrent(testpath()),
      {error, enoent} = ?MODULE:read_info(Infohash).
  
  test_write_info() ->
      {ok, Infohash} = ?MODULE:copy_torrent(testpath()),
      ok = ?MODULE:write_info(Infohash, [{<<"a">>, 1}]),
      {ok, [{<<"a">>, 1}]} = ?MODULE:read_info(Infohash).
  -endif.
  