REPORT de la branche 1.0 (tag 1.0.1)
[euphorik.git] / modules / erl / euphorik_test.erl
index c602292..d319997 100644 (file)
 
 
 -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,
@@ -102,13 +103,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