aboutsummaryrefslogtreecommitdiff
path: root/erlbal_n_tests.erl
blob: 91ea5eec3949d6bae2446e4ec7c8aba78a200cb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
-module(erlbal_n_tests).
-export([start/1]).

start(simple) ->
	Bal = erlbal_n:start_bal(),
	erlbal_n:start_server(Bal, node(), fun(_, _) -> {7, []} end, fun() -> 1000 - length(processes()) end, []),
	erlbal_n:start_server(Bal, node(), fun(_, _) -> {7, []} end, fun() -> 1000 - length(processes()) end, []),
	7 = erlbal_n:make_request(Bal, []),
	7 = erlbal_n:make_request(Bal, []),
	lists:foreach(fun(X) -> erlbal_n:stop_server(Bal, X) end, erlbal_n:list_servers(Bal)),
	erlbal_n:stop_bal(Bal),
	ok;

start(args) ->
	Bal = erlbal_n:start_bal(),
	erlbal_n:start_server(Bal, node(), fun([X], _) -> {X+1, []} end, fun() -> 1000 - length(processes()) end, []),
	erlbal_n:start_server(Bal, node(), fun([X], _) -> {X+1, []} end, fun() -> 1000 - length(processes()) end, []),
	7 = erlbal_n:make_request(Bal, [6]),
	7 = erlbal_n:make_request(Bal, [6]),
	lists:foreach(fun(X) -> erlbal_n:stop_server(Bal, X) end, erlbal_n:list_servers(Bal)),
	erlbal_n:stop_bal(Bal),
	ok;

start(state) ->
	Bal = erlbal_n:start_bal(),
	erlbal_n:start_server(Bal, node(), fun([X], [S]) -> Y = X + S, {Y, [S]} end, fun() -> 1000 - length(processes()) end, [1]),
	erlbal_n:start_server(Bal, node(), fun([X], [S]) -> Y = X + S, {Y, [S]} end, fun() -> 1000 - length(processes()) end, [1]),
	7 = erlbal_n:make_request(Bal, [6]),
	7 = erlbal_n:make_request(Bal, [6]),
	lists:foreach(fun(X) -> erlbal_n:stop_server(Bal, X) end, erlbal_n:list_servers(Bal)),
	erlbal_n:stop_bal(Bal),
	ok;

start(complex_state) ->
	Bal = erlbal_n:start_bal(),
	erlbal_n:start_server(Bal, node(), fun([X], [S]) -> Y = X + S, {Y, [S+1]} end, fun() -> 1000 - length(processes()) end, [1]),
	erlbal_n:start_server(Bal, node(), fun([X], [S]) -> Y = X + S, {Y, [S+1]} end, fun() -> 1000 - length(processes()) end, [1]),
	7 = erlbal_n:make_request(Bal, [6]),
	8 = erlbal_n:make_request(Bal, [6]),
	9 = erlbal_n:make_request(Bal, [6]),
	10 = erlbal_n:make_request(Bal, [6]),
	lists:foreach(fun(X) -> erlbal_n:stop_server(Bal, X) end, erlbal_n:list_servers(Bal)),
	erlbal_n:stop_bal(Bal),
	ok.