-module(encode_test). -include_lib("eunit/include/eunit.hrl"). -ifdef(TEST). %% ---------------------------------- %% Unit tests %% ---------------------------------- start_encode_test() -> ?assert(encode:start_encode(["test", 23, "warden", #{"clyffe" => 43}], []) =:= {ok, "l4:testi23e6:wardend6:clyffei43eee"}), ?assert(encode:start_encode(atom, []) =:= {ok, "a4:atom"}), ?assert(encode:start_encode("warden",[]) =:= {ok, "6:warden"}), ?assert(encode:start_encode(23, []) =:= {ok, "i23e"}), ?assert(encode:start_encode(#{}, []) =:= {ok, "de"}). determ_list_or_string_test() -> ?assert(encode:determ_list_or_string("Warden", []) =:= {ok, "6:Warden"}), ?assert(encode:determ_list_or_string(["Warden"], []) =:= {ok, "l6:Wardene"}), ?assert(encode:determ_list_or_string(23, []) =:= {error, not_list}), ?assert(encode:determ_list_or_string("", []) =:= {ok, "le"}). encode_list_test() -> ?assert(encode:encode_list([23,43,54], []) =:= {ok, "li23ei43ei54ee"}), ?assert(encode:encode_list([],[]) =:= {ok, "le"}), ?assert(encode:encode_list(#{23=> 32}, []) =:= {error, not_list}). encode_map_test() -> ?assert(encode:encode_map(#{}, []) =:= {ok, "de"}), ?assert(encode:encode_map(#{23 => "23"}, []) =:= {ok, "di23e2:23e"}), ?assert(encode:encode_map("Warden", []) =:= {error, not_map}). encode_int_test() -> ?assert(encode:encode_int(23, []) =:= {ok, "i23e"}), ?assert(encode:encode_int("23", []) =:= {error, not_number}), ?assert(encode:encode_int(3125452313, "l3:hej") =:= {ok, "l3:heji3125452313e"}). encode_string_test() -> ?assert(encode:encode_string("hej", []) =:= {ok, "3:hej"}), ?assert(encode:encode_string("", []) =:= {error, zero_length}), ?assert(encode:encode_string("23", []) =:= {ok, "2:23"}), ?assert(encode:encode_string(#{}, []) =:= {error, not_list}). -endif.