X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_test.erl;h=3b70bf20c1db887e462cffd042776a66742a54e6;hp=c6022923f1114f09da079dd0cd4dbfcbf021cd94;hb=b7547c3be18fe564cf3e06f2a589c7cc1d78ec33;hpb=08193845f5b45402b85977911dbd0693a4d183de diff --git a/modules/erl/euphorik_test.erl b/modules/erl/euphorik_test.erl index c602292..3b70bf2 100644 --- a/modules/erl/euphorik_test.erl +++ b/modules/erl/euphorik_test.erl @@ -21,12 +21,13 @@ -module(euphorik_test). --export([start/1, stop/1]). +-export([start/2, stop/1]). -include("../include/euphorik_bd.hrl"). % N est le nombre d'utilisateur -start(N) -> +% M est le nombre de message que chaque utilisateur va poster +start(N, M) -> Ids = creer_users(N), lists:map( fun(Id) -> @@ -35,7 +36,7 @@ start(N) -> fun() -> {A1, A2, A3} = now(), random:seed(A1, A2, A3), - loop(Id) + loop(Id, M) end ) end, @@ -77,15 +78,19 @@ mot_rand(L, Mot) -> % 2 : 0.15 % 3 : 0.05 messages_id_rand() -> - Messages = lists:map(fun(#minichat{id = Id}) -> Id end, euphorik_bd:messages(30)), R = random:uniform(), - if R =< 0.5 -> []; - R > 0.5 andalso R =< 0.8 -> - tire_element_rand(1, Messages); - R > 0.8 andalso R =< 0.95 -> - tire_element_rand(2, Messages); + if R =< 0.5 -> + []; true -> - tire_element_rand(3, Messages) + Messages = lists:map(fun(#minichat{id = Id}) -> Id end, euphorik_bd:messages(8)), + if + R > 0.5 andalso R =< 0.8 -> + tire_element_rand(1, Messages); + R > 0.8 andalso R =< 0.95 -> + tire_element_rand(2, Messages); + true -> + tire_element_rand(3, Messages) + end end. @@ -102,13 +107,14 @@ tire_element_rand(N, L, Elements) -> tire_element_rand(N-1, L, [E | Elements]) end. - -loop(User_id) -> +loop(User_id, 0) -> + io:format("~p a fini~n", [User_id]); +loop(User_id, M) -> % attend un temp aléatoire compris entre 1 sec et 5 sec timer:sleep(1000 * random:uniform(5)), % poste un message aléatoire par une personne aléatoire répondant à des messages aléatoires {Message, Repond_a} = {message_rand(), messages_id_rand()}, io:format("~p poste ~p et repond a ~w~n", [User_id, Message, Repond_a]), euphorik_bd:nouveau_message(Message, User_id, Repond_a), - loop(User_id). + loop(User_id, M - 1). \ No newline at end of file