/run Torrent client/database_test.erl~

http://github.com/anonymous-admin/anonymous · Unknown · 48 lines · 40 code · 8 blank · 0 comment · 0 complexity · 43a500cc723754055db29d3a400b0949 MD5 · raw file

  1. -module(database_test).
  2. -include_lib("eunit/include/eunit.hrl").
  3. -include("defs.hrl").
  4. -export([create_record/1, display_table/0]).
  5. start_test_() ->
  6. [?_assert(database:start_link() =:= {ok, _})].
  7. insert_record_test_() ->
  8. Record1 = create_record(1),
  9. Record2 = create_record(2),
  10. [?_assert(gen_server:cast(database, {notify, torrent_info, {Record1#torrent.id, Record1}}) =:= ok),
  11. ?_assert(gen_server:cast(database, {notify, torrent_info, {Record2#torrent.id, Record2}}) =:= ok),
  12. ?_assert(length(ets:tab2list(database_table)) =:= 2)].
  13. delete_record_test_() ->
  14. Record1 = create_record(1),
  15. [?_assert(gen_server:cast(database, {notify, torrent_status, {Record1#torrent.id, deleted}}) =:= ok),
  16. ?_assert(length(ets:tab2list(database_table)) =:= 1)].
  17. update_record_test_() ->
  18. Record2 = create_record(2),
  19. [?_assert(gen_server:cast(database, {notify, piece_length, {Record2#torrent.id, 50000}}) =:= ok)].
  20. set_default_path_test_() ->
  21. [?assert(gen_server:cast(database, {notify, default_path, {-1, "c:\\"}}) =:= ok)].
  22. create_record(N) ->
  23. case N of
  24. 1 ->
  25. #torrent{id = 1, info_hash_tracker = 2,
  26. announce = 3, creation_date = 4, comment = 5,
  27. created_by = 6, encoding = 7, files = 8,
  28. filename = 9, piece_length = 10,
  29. number_of_pieces = 11, file_length = 12,
  30. bitfield = 13 };
  31. 2->
  32. #torrent{id = 14, info_hash_tracker = 15,
  33. announce = 16, creation_date = 18, comment = 19,
  34. created_by = 20, encoding = 21, files = 22,
  35. filename = 23, piece_length = 24,
  36. number_of_pieces = 25, file_length = 26,
  37. bitfield = 27 }
  38. end.
  39. display_table() ->
  40. ets:tab2list(database_table).