X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FIPC-MorseSignals.git;a=blobdiff_plain;f=t%2F20-emitter-obj.t;h=bd88b12675475ca58eea61467fd0b9ec090f23a3;hp=97204fe8c42cc9b481f814232ccfeb33f4c1f7cf;hb=9370c8d2ab07f434272dbbddb92bdd5d8d1fe3af;hpb=db7266fa5be4347aac1d32a994d6529c7b5a4afb diff --git a/t/20-emitter-obj.t b/t/20-emitter-obj.t index 97204fe..bd88b12 100644 --- a/t/20-emitter-obj.t +++ b/t/20-emitter-obj.t @@ -7,9 +7,11 @@ use Test::More tests => 19; use IPC::MorseSignals::Emitter; +sub neq { abs($_[0] - $_[1]) < ($_[1] / 10) }; + my $deuce = new IPC::MorseSignals::Emitter; ok(defined $deuce, 'BME object is defined'); -ok(ref $deuce eq 'IPC::MorseSignals::Emitter', 'IME object is valid'); +is(ref $deuce, 'IPC::MorseSignals::Emitter', 'IME object is valid'); ok($deuce->isa('Bit::MorseSignals::Emitter'), 'IME is a BME'); my $fake = { }; @@ -19,33 +21,33 @@ ok($@ && $@ =~ /^First\s+argument/, "IME methods only apply to IME objects"); eval { Bit::MorseSignals::Emitter::reset($fake) }; ok($@ && $@ =~ /^First\s+argument/, "BME methods only apply to BME objects"); -ok($deuce->delay == 1, 'default delay is 1'); -ok($deuce->speed == 1, 'default speed is 1'); +is($deuce->delay, 1, 'default delay is 1'); +is($deuce->speed, 1, 'default speed is 1'); $deuce->delay(0.1); -ok(abs($deuce->delay - 0.1) < 0.01, 'set delay is 0.1'); -ok($deuce->speed == 10, 'resulting speed is 10'); +ok(neq($deuce->delay, 0.1), 'set delay is 0.1'); +is($deuce->speed, 10, 'resulting speed is 10'); $deuce->speed(100); -ok($deuce->speed == 100, 'set speed is 100'); -ok(abs($deuce->delay - 0.01) < 0.001, 'resulting speed is 0.01'); +is($deuce->speed, 100, 'set speed is 100'); +ok(neq($deuce->delay, 0.01), 'resulting speed is 0.01'); $deuce = new IPC::MorseSignals::Emitter delay => 0.25; -ok(abs($deuce->delay - 0.25) < 0.025, 'initial delay is 0.25'); -ok($deuce->speed == 4, 'resulting initial speed is 4'); +ok(neq($deuce->delay, 0.25), 'initial delay is 0.25'); +is($deuce->speed, 4, 'resulting initial speed is 4'); $deuce = new IPC::MorseSignals::Emitter speed => 40; -ok($deuce->speed == 40, 'initial speed is 40'); -ok(abs($deuce->delay - 0.025) < 0.0025, 'resulting initial delay is 0.025'); +is($deuce->speed, 40, 'initial speed is 40'); +ok(neq($deuce->delay, 0.025), 'resulting initial delay is 0.025'); $deuce = new IPC::MorseSignals::Emitter delay => 0.25, speed => 40; -ok(abs($deuce->delay - 0.25) < 0.025, 'delay supersedes speed'); +ok(neq($deuce->delay, 0.25), 'delay supersedes speed'); $deuce = new IPC::MorseSignals::Emitter delay => 0; -ok($deuce->delay == 1, 'wrong delay results in 1'); +is($deuce->delay, 1, 'wrong delay results in 1'); $deuce = new IPC::MorseSignals::Emitter speed => 0.1; -ok($deuce->delay == 1, 'wrong speed results in 1'); +is($deuce->delay, 1, 'wrong speed results in 1'); $deuce = new IPC::MorseSignals::Emitter delay => 0, speed => -0.1; -ok($deuce->delay == 1, 'wrong delay and speed result in 1'); +is($deuce->delay, 1, 'wrong delay and speed result in 1');