From be5e8817ca5570b66f57f2d56148c88ae73a8531 Mon Sep 17 00:00:00 2001 From: ssmith Date: Sun, 7 May 2006 20:22:22 -0700 Subject: Initial version of bencode module. --- tests.erl | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests.erl (limited to 'tests.erl') diff --git a/tests.erl b/tests.erl new file mode 100644 index 0000000..92f5646 --- /dev/null +++ b/tests.erl @@ -0,0 +1,50 @@ + +-module(tests). + +-include("eunit.hrl"). + +-export([start/0, + test_int1/0, test_int2/0, test_int3/0, test_int4/0, + test_string1/0, test_string2/0, + test_list1/0, test_list2/0, test_list3/0, test_list4/0, test_list5/0, + test_dict1/0]). + +%% Integer decoding tests +test_int1() -> + ?match({{int, 999}, []}, bencode:bdecode("i999e")). +test_int2() -> + ?match({{int, 0}, []}, bencode:bdecode("i0e")). +test_int3() -> + ?match({{int, 123}, "abc"}, bencode:bdecode("i123eabc")). +test_int4() -> + ?match({{int, -10}, []}, bencode:bdecode("i-10e")). + +%% String decoding tests +test_string1() -> + ?match({{string, ""}, []}, bencode:bdecode("0:")). +test_string2() -> + ?match({{string, "abcde"}, []}, bencode:bdecode("5:abcde")). + +%% List decoding tests +test_list1() -> + ?match({{list, []}, []}, bencode:bdecode("le")). +test_list2() -> + ?match({{list, [{int,1}]}, []}, bencode:bdecode("li1ee")). +test_list3() -> + ?match({{list, [{int,1}]}, []}, bencode:bdecode("li1ee")). +test_list4() -> + ?match({{list, [{int,1}, {int,2}]}, []}, bencode:bdecode("li1ei2ee")). +test_list5() -> + ?match({{list, [{int,1}, + {list, [{int, 2}, {int, 3}]}]}, + []}, + bencode:bdecode("li1eli2ei3eee")). + +%% Dict decoding tests +test_dict1() -> + {{dict, Dict}, []} = bencode:bdecode("d3:agei25e4:eyes4:bluee"), + ?match([{"age", {int, 25}}, {"eyes", {string, "blue"}}], dict:to_list(Dict)). + +%% Entry point +start() -> + eunit:run([tests], {prefix, "test_"}). -- cgit v1.2.3