File: 002_run.t

package info (click to toggle)
libmoosex-role-timer-perl 0.05-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 120 kB
  • sloc: perl: 136; makefile: 7
file content (50 lines) | stat: -rw-r--r-- 755 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env perl

use Test::More tests => 4;
use warnings;
use strict;

package Demo;
use Time::HiRes 'usleep';
use Moo;

with 'MooseX::Role::Timer';

sub BUILD {
    shift->start_timer("build");
}

sub a {
    my $self = shift;
    $self->start_timer("a");
    usleep(3_000);
    $self->stop_timer("a");
}

sub b {
    my $self = shift;
    $self->start_timer("b");
    usleep(15_000);
    $self->stop_timer("b");
}

package main;

my $demo = Demo->new;

for (0..4) {
    $demo->a;
    $demo->b;
}

my $a = $demo->elapsed_timer("a");
my $b = $demo->elapsed_timer("b");
my $c = $demo->elapsed_timer("build");

ok( $a > 0, "a>0; (a=$a)" );

ok( $b > 0, "b>0; (b=$b)" );

ok( $b > $a, "b>a; ($b>$a)" );

ok( $c >= ($a + $b), "all>=(a+b); ($c>=($a+$b)");