anchor.diff:              {high_watermark, 0.6},
               {queue_qos0, false}],
       Q = ?Q:new("priority_queue", Opts, alarm_fun()),
  +    ?assertEqual(priority, ?Q:type(Q)),
  +    ?assertEqual(3, ?Q:max_len(Q)),
  +    ?assertEqual(<<"priority_queue">>, ?Q:name(Q)),
   
       ?assert(?Q:is_empty(Q)),
       Q1 = ?Q:in(#mqtt_message{qos = 1, topic = <<"t1">>}, Q),
  
positive.code:     ?assertEqual(5, ?Q:len(Q6)),
      {{value, Msg}, Q7} = ?Q:out(Q6),
      ?assertMatch(<<"t">>, Msg#mqtt_message.topic).
   
  alarm_fun() -> fun(_, _) -> alarm_fun() end.
  
  
negative.code:             {high_watermark, 0.6},
              {queue_qos0, false}],
      Q = ?Q:new("simple_queue", Opts, alarm_fun()),
      ?assertEqual(simple, ?Q:type(Q)),
      ?assertEqual(3, ?Q:max_len(Q)),
      ?assertEqual(<<"simple_queue">>, ?Q:name(Q)),
      ?assert(?Q:is_empty(Q)),
      Q1 = ?Q:in(#mqtt_message{qos = 1, payload = <<"1">>}, Q),
      Q2 = ?Q:in(#mqtt_message{qos = 1, payload = <<"2">>}, Q1),
  