-eval { Bit::MorseSignals::Emitter::reset($fake) };
-ok($@ && $@ =~ /^First\s+argument/, "BME methods only apply to BME objects");
+for (qw/post pop len pos reset flush busy queued/) {
+ eval "Bit::MorseSignals::Emitter::$_('Bit::MorseSignals::Emitter')";
+ like($@, qr/^First\s+argument/, "BME::$_ isn't a class method");
+ eval "Bit::MorseSignals::Emitter::$_(\$fake)";
+ like($@, qr/^First\s+argument/, "BME::$_ only applies to BME objects");
+}
+
+eval { $deuce->post('foo', qw/a b c/) };
+like($@, qr/Optional\s+arguments/, 'BME::post gets parameters after the first as key => value pairs');
+ok(!defined($deuce->post(sub { 1 })), 'BME::post doesn\'t take CODE references');
+ok(!defined($deuce->post(\*STDERR)), 'BME::post doesn\'t take GLOB references');