priority_queue:plen/2 test

This commit is contained in:
Feng 2016-01-25 14:48:47 +08:00
parent f90dad9edb
commit 89741b6bfe
2 changed files with 27 additions and 1 deletions

View File

@ -140,6 +140,23 @@ infinity_priority_mqueue_test() ->
end, Q, lists:seq(1, 255)),
?assertEqual(510, ?Q:len(Qx)),
?assertEqual([{len, 510}, {max_len, infinity}, {dropped, 0}], ?Q:stats(Qx)).
priority_mqueue2_test() ->
Opts = [{type, priority},
{max_length, 2},
{low_watermark, 0.2},
{high_watermark, 0.6},
{queue_qos0, false}],
Q = ?Q:new("priority_queue2_test", Opts, alarm_fun()),
?assertEqual(2, ?Q:max_len(Q)),
Q1 = ?Q:in(#mqtt_message{topic = <<"x">>, qos = 1, payload = <<1>>}, Q),
Q2 = ?Q:in(#mqtt_message{topic = <<"x">>, qos = 1, payload = <<2>>}, Q1),
Q3 = ?Q:in(#mqtt_message{topic = <<"y">>, qos = 1, payload = <<3>>}, Q2),
Q4 = ?Q:in(#mqtt_message{topic = <<"y">>, qos = 1, payload = <<4>>}, Q3),
?assertEqual(4, ?Q:len(Q4)),
{{value, Val}, Q5} = ?Q:out(Q4),
?debugFmt("Val: ~p~n", [Val]),
?assertEqual(3, ?Q:len(Q5)).
alarm_fun() -> fun(_, _) -> alarm_fun() end.

View File

@ -40,7 +40,16 @@ plen_test() ->
Q2 = ?PQ:in(y, 2, Q1),
?assertEqual(1, ?PQ:plen(2, Q2)),
Q3 = ?PQ:in(z, 2, Q2),
?assertEqual(2, ?PQ:plen(2, Q3)).
?assertEqual(2, ?PQ:plen(2, Q3)),
{_, Q4} = ?PQ:out(1, Q3),
?assertEqual(0, ?PQ:plen(1, Q4)),
{_, Q5} = ?PQ:out(Q4),
?assertEqual(1, ?PQ:plen(2, Q5)),
{_, Q6} = ?PQ:out(Q5),
?assertEqual(0, ?PQ:plen(2, Q6)),
?assertEqual(1, ?PQ:len(Q6)),
{_, Q7} = ?PQ:out(Q6),
?assertEqual(0, ?PQ:len(Q7)).
out2_test() ->
Els = [a, {b, 1}, {c, 1}, {d, 2}, {e, 2}, {f, 2}],