anchor.diff:      ?assertNot( match(<<"/finance">>, <<"+">>) ).
   
   sys_match_test() ->
  -    ?assert( match(<<"$SYS/borker/clients/testclient">>, <<"$SYS/#">>) ),
  -    ?assert( match(<<"$SYS/borker">>, <<"$SYS/+">>) ),
  -    ?assertNot( match(<<"$SYS/borker">>, <<"+/+">>) ),
  -    ?assertNot( match(<<"$SYS/borker">>, <<"#">>) ).
  +    ?assert( match(<<"$SYS/broker/clients/testclient">>, <<"$SYS/#">>) ),
  +    ?assert( match(<<"$SYS/broker">>, <<"$SYS/+">>) ),
  +    ?assertNot( match(<<"$SYS/broker">>, <<"+/+">>) ),
  +    ?assertNot( match(<<"$SYS/broker">>, <<"#">>) ).
   
   '#_match_test'() ->
       ?assert( match(<<"a/b/c">>, <<"#">>) ),
  
positive.code: 
  words_test() ->
      ?assertMatch(['', <<"abkc">>, <<"19383">>, '+', <<"akakdkkdkak">>, '#'],  words(<<"/abkc/19383/+/akakdkkdkak/#">>)),
      {Time, _} = timer:tc(fun() -> 
                  [words(<<"/abkc/19383/+/akakdkkdkak/#">>) || _I <- lists:seq(1, ?N)]
          end),
      ?debugFmt("Time for words: ~p(micro)", [Time/?N]),
      {Time2, _} = timer:tc(fun() -> 
                  [binary:split(<<"/abkc/19383/+/akakdkkdkak/#">>, <<"/">>, [global]) || _I <- lists:seq(1, ?N)]
          end),
      ?debugFmt("Time for binary:split: ~p(micro)", [Time2/?N]),
  
negative.code: 
  triples_test() ->
      Triples = [{root, <<"a">>, <<"a">>}, {<<"a">>, <<"b">>, <<"a/b">>}],
      ?assertMatch(Triples, triples(<<"a/b">>) ).
  
  triples_perf_test() ->
      Topic = <<"/abkc/19383/192939/akakdkkdkak/xxxyyuya/akakak">>,
      {Time, _} = timer:tc(fun() ->
                  [triples(Topic) || _I <- lists:seq(1, ?N)]
          end),
      ?debugFmt("Time for triples: ~p(micro)", [Time/?N]),
  