Bit-MorseSignals

 view release on metacpan or  search on metacpan

t/30-receiver-obj.t  view on Meta::CPAN

#!perl -T

use strict;
use warnings;

use Test::More tests => 15;

use Bit::MorseSignals::Receiver;

my $pants = Bit::MorseSignals::Receiver->new;
ok(defined $pants, 'BMR object is defined');
is(ref $pants, 'Bit::MorseSignals::Receiver', 'BMR object is valid');

my $pants2 = $pants->new;
ok(defined $pants2, 'BMR::new called as an object method works' );
is(ref $pants2, 'Bit::MorseSignals::Receiver', 'BMR::new called as an object method works is valid');
ok(!defined Bit::MorseSignals::Receiver::new(), 'BMR::new called without a class is invalid');

eval { $pants2 = Bit::MorseSignals::Receiver->new(qw<a b c>) };
like($@, qr/Optional\s+arguments/, 'BME::new gets parameters as key => value pairs');

my $fake = { };
bless $fake, 'Bit::MorseSignal::Hlagh';
for (qw<push reset busy msg>) {
 eval "Bit::MorseSignals::Receiver::$_('Bit::MorseSignals::Receiver')";
 like($@, qr/^First\s+argument/, "BMR::$_ isn't a class method");
 eval "Bit::MorseSignals::Receiver::$_(\$fake)";
 like($@, qr/^First\s+argument/, "BMR::$_ only applies to BMR objects");
}

{
 local $_;
 ok(!defined($pants->push), 'BMR::push returns undef when \$_ isn\'t defined');
}



( run in 1.006 second using v1.01-cache-2.11-cpan-98e64b0badf )