Fix test cases for trie

This commit is contained in:
Feng 2016-08-12 11:53:20 +08:00
parent c86aa94ae7
commit 813506d47a
1 changed files with 5 additions and 3 deletions

View File

@ -22,6 +22,8 @@
-define(TRIE, emqttd_trie).
-include_lib("eunit/include/eunit.hrl").
all() ->
[t_insert, t_match, t_match2, t_match3, t_delete, t_delete2, t_delete3].
@ -81,9 +83,9 @@ t_match3(_) ->
Topics = [<<"d/#">>, <<"a/b/c">>, <<"a/b/+">>, <<"a/#">>, <<"#">>, <<"$SYS/#">>],
mnesia:transaction(fun() -> [emqttd_trie:insert(Topic) || Topic <- Topics] end),
Matched = mnesia:async_dirty(fun emqttd_trie:match/1, [<<"a/b/c">>]),
4 = length(Matched),
?assertEqual(4, length(Matched)),
SysMatched = mnesia:async_dirty(fun emqttd_trie:match/1, [<<"$SYS/a/b/c">>]),
[<<"$SYS/#">>] = SysMatched.
?assertEqual([<<"$SYS/#">>], SysMatched).
t_delete(_) ->
TN = #trie_node{node_id = <<"sensor/1">>,
@ -129,5 +131,5 @@ t_delete3(_) ->
end).
clear_tables() ->
lists:foreach(fun mnesia:clear_table/1, [trie, trie_node]).
lists:foreach(fun mnesia:clear_table/1, [mqtt_trie, mqtt_trie_node]).