File Coverage

blib/lib/Perl6/Junction/Any.pm
Criterion Covered Total %
statement 76 76 100.0
branch 50 50 100.0
condition n/a
subroutine 17 17 100.0
pod 0 15 0.0
total 143 158 90.5


line stmt bran cond sub pod time code
1             package Perl6::Junction::Any;
2 8     8   48 use strict;
  8         13  
  8         458  
3             our $VERSION = '1.60000';
4              
5 8     8   41 use base 'Perl6::Junction::Base';
  8         72  
  8         7938  
6              
7             sub num_eq {
8 15 100   15 0 71 return regex_eq(@_) if ref( $_[1] ) eq 'Regexp';
9              
10 10         28 my ( $self, $test ) = @_;
11              
12 10         24 for (@$self) {
13 14 100       66 return 1 if $_ == $test;
14             }
15              
16 3         23 return;
17             }
18              
19             sub num_ne {
20 6 100   6 0 33 return regex_ne(@_) if ref( $_[1] ) eq 'Regexp';
21              
22 3         5 my ( $self, $test ) = @_;
23              
24 3         8 for (@$self) {
25 5 100       25 return 1 if $_ != $test;
26             }
27              
28 1         15 return;
29             }
30              
31             sub num_ge {
32 10     10 0 22 my ( $self, $test, $switch ) = @_;
33              
34 10 100       37 return num_le( $self, $test ) if $switch;
35              
36 7         18 for (@$self) {
37 17 100       55 return 1 if $_ >= $test;
38             }
39              
40 2         8 return;
41             }
42              
43             sub num_gt {
44 12     12 0 25 my ( $self, $test, $switch ) = @_;
45              
46 12 100       45 return num_lt( $self, $test ) if $switch;
47              
48 6         14 for (@$self) {
49 13 100       66 return 1 if $_ > $test;
50             }
51              
52 2         10 return;
53             }
54              
55             sub num_le {
56 9     9 0 20 my ( $self, $test, $switch ) = @_;
57              
58 9 100       27 return num_ge( $self, $test ) if $switch;
59              
60 6         14 for (@$self) {
61 10 100       49 return 1 if $_ <= $test;
62             }
63              
64 2         11 return;
65             }
66              
67             sub num_lt {
68 12     12 0 23 my ( $self, $test, $switch ) = @_;
69              
70 12 100       33 return num_gt( $self, $test ) if $switch;
71              
72 9         20 for (@$self) {
73 15 100       80 return 1 if $_ < $test;
74             }
75              
76 2         11 return;
77             }
78              
79             sub str_eq {
80 3     3 0 7 my ( $self, $test ) = @_;
81              
82 3         9 for (@$self) {
83 4 100       21 return 1 if $_ eq $test;
84             }
85              
86 1         5 return;
87             }
88              
89             sub str_ne {
90 2     2 0 3 my ( $self, $test ) = @_;
91              
92 2         6 for (@$self) {
93 4 100       16 return 1 if $_ ne $test;
94             }
95              
96 1         5 return;
97             }
98              
99             sub str_ge {
100 9     9 0 13 my ( $self, $test, $switch ) = @_;
101              
102 9 100       27 return str_le( $self, $test ) if $switch;
103              
104 6         13 for (@$self) {
105 8 100       35 return 1 if $_ ge $test;
106             }
107              
108 2         15 return;
109             }
110              
111             sub str_gt {
112 10     10 0 21 my ( $self, $test, $switch ) = @_;
113              
114 10 100       33 return str_lt( $self, $test ) if $switch;
115              
116 6         14 for (@$self) {
117 9 100       37 return 1 if $_ gt $test;
118             }
119              
120 2         10 return;
121             }
122              
123             sub str_le {
124 9     9 0 16 my ( $self, $test, $switch ) = @_;
125              
126 9 100       28 return str_ge( $self, $test ) if $switch;
127              
128 6         14 for (@$self) {
129 8 100       37 return 1 if $_ le $test;
130             }
131              
132 2         10 return;
133             }
134              
135             sub str_lt {
136 10     10 0 19 my ( $self, $test, $switch ) = @_;
137              
138 10 100       26 return str_gt( $self, $test ) if $switch;
139              
140 7         17 for (@$self) {
141 12 100       47 return 1 if $_ lt $test;
142             }
143              
144 3         22 return;
145             }
146              
147             sub regex_eq {
148 5     5 0 11 my ( $self, $test, $switch ) = @_;
149              
150 5         15 for (@$self) {
151 11 100       61 return 1 if $_ =~ $test;
152             }
153              
154 3         15 return;
155             }
156              
157             sub regex_ne {
158 3     3 0 8 my ( $self, $test, $switch ) = @_;
159              
160 3         7 for (@$self) {
161 9 100       6688 return 1 if $_ !~ $test;
162             }
163              
164 1         6 return;
165             }
166              
167             sub bool {
168 3     3 0 108 my ($self) = @_;
169              
170 3         9 for (@$self) {
171 5 100       18 return 1 if $_;
172             }
173              
174 1         5 return;
175             }
176              
177             1;
178