-module(bencode_test). -include_lib("eunit/include/eunit.hrl"). -ifdef(TEST). %% =============================== %% Integration Tests %% =============================== %% @private encode_test() -> Map = #{"Warden" => 23, 534 => "test", "A list" => [54, #{}, [], "clyffe"]}, {ok, EncodedMap} = bencode:encode(Map), ?assert(EncodedMap =:= "di534e4:test6:A listli54edele6:clyffee6:Wardeni23ee"), {ok, EncodedAtom} = bencode:encode(map), ?assert(EncodedAtom =:= "a3:map"). %% @private decode_test() -> Bencode = "di534e4:test6:A listli54edele6:clyffee6:Wardeni23ee", {ok, Map} = decode:'_decode'(Bencode), ?assert(Map =:= #{534 => "test", "A list" => [54, #{}, [], "clyffe"], "Warden" => 23}), {error, Reason} = bencode:decode(test_atom), ?assert(Reason =:= enoent). -endif.