File Coverage

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