# $ cd Net::Analysis # $ make test # Run all test files # $ PERL5LIB=./lib perl t/00_stub.t # Run just this test suite # $Id: 02_Net-Analysis-Time.t 143 2005-11-03 17:36:58Z abworrall $ use strict; use warnings; use Data::Dumper; use Test::More tests => 24; ######################### BEGIN { use_ok('Net::Analysis::Time') }; # Simple construction my $t1 = Net::Analysis::Time->new (1100257189, 123456); isnt ($t1, undef, 'create obj'); # getting the bits back is_deeply (scalar($t1->numbers()), [1100257189, 123456], 'get bits back'); # Test the pre-packaged output formats Net::Analysis::Time->set_format ('full'); is ("$t1", '2004/11/12 10:59:49.123456', 'fulloutput'); Net::Analysis::Time->set_format ('time'); is ("$t1", '10:59:49.123456', 'time output'); Net::Analysis::Time->set_format ('raw'); is ("$t1", '1100257189.123456', 'raw output'); # Test format overrides is ($t1->as_string('time'), '10:59:49.123456', 'time override'); is ("$t1", '1100257189.123456', 'time back to normal'); # Additions $t1 += 0.000001; is ("$t1", '1100257189.123457', '+NN'); $t1 += [2,999999]; # (test rollovers) is ("$t1", '1100257192.123456', '+[s,us]'); $t1 += Net::Analysis::Time->new (3, 111111); is ("$t1", '1100257195.234567', '+$t'); # Subtractions $t1 -= 0.000001; is ("$t1", '1100257195.234566', '-NN'); $t1 -= [2,999999]; # (test rollunders) is ("$t1", '1100257192.234567', '-[s,us]'); $t1 -= Net::Analysis::Time->new (3, 111111); is ("$t1", '1100257189.123456', '-$t'); # Comparisons my $t2 = Net::Analysis::Time->new (1100257189, 123456); cmp_ok ($t1, '==', $t2, '=='); $t2 += [0,000001]; cmp_ok ($t1, '!=', $t2, '!='); # Cloning my $t3 = $t1->_clone(); cmp_ok ($t1, '==', $t3, 'clone is OK'); $t2 -= [6,000000]; my $diff = $t1 - $t2; my $sum = $t1 + [100,111111]; cmp_ok ($diff, '==', Net::Analysis::Time->new(5,999999), 'subtraction'); cmp_ok ($sum, '==', Net::Analysis::Time->new(1100257289,234567), 'addition'); # Rounding $t1->round_usec(10); is ("$t1", '1100257189.123450', 'round 10'); $t1->round_usec(250,'up'); is ("$t1", '1100257189.123500', 'round 250, up'); $t1->round_usec(5000); is ("$t1", '1100257189.120000', 'round 5000'); $t1->round_usec(1000000,'up'); is ("$t1", '1100257190.000000', 'round 1000000, up'); # Other stuff is ($diff->usec(), 5999999, 'usec()'); __DATA__ # ok ($this eq $that, $test_name); # is ($this, $that, $test_name); # isnt ($this, $that, $test_name); # diag ("blah blah"); # like ($this, qr/that/, $test_name); # unlike ($this, qr/that/, $test_name); # cmp_ok ($this, '==', $that, $test_name); # is_deeply (\@output, \@sample_answers, "something");