File Coverage

blib/lib/Perl6/Junction/One.pm
Criterion Covered Total %
statement 121 121 100.0
branch 109 110 99.0
condition n/a
subroutine 17 17 100.0
pod 0 15 0.0
total 247 263 93.9


line stmt bran cond sub pod time code
1             package Perl6::Junction::One;
2 8     8   42 use strict;
  8         15  
  8         380  
3             our $VERSION = '1.60000';
4              
5 8     8   38 use base 'Perl6::Junction::Base';
  8         13  
  8         10467  
6              
7             sub num_eq {
8 17 100   17 0 63 return regex_eq(@_) if ref( $_[1] ) eq 'Regexp';
9              
10 12         18 my ( $self, $test ) = @_;
11 12         20 my $count = 0;
12              
13 12         25 for (@$self) {
14 27 100       94 if ( $_ == $test ) {
15 12 100       50 return if $count;
16 10         21 $count = 1;
17             }
18             }
19              
20 10 100       65 return 1 if $count;
21             }
22              
23             sub num_ne {
24 7 100   7 0 197 return regex_ne(@_) if ref( $_[1] ) eq 'Regexp';
25              
26 3         5 my ( $self, $test ) = @_;
27 3         4 my $count = 0;
28              
29 3         9 for (@$self) {
30 6 100       17 if ( $_ != $test ) {
31 3 100       9 return if $count;
32 2         5 $count = 1;
33             }
34             }
35              
36 2 100       11 return 1 if $count;
37             }
38              
39             sub num_ge {
40 17     17 0 41 my ( $self, $test, $switch ) = @_;
41              
42 17 100       52 return num_le( $self, $test ) if $switch;
43              
44 10         15 my $count = 0;
45              
46 10         25 for (@$self) {
47 29 100       63 if ( $_ >= $test ) {
48 11 100       40 return if $count;
49 8         27 $count = 1;
50             }
51             }
52              
53 7 100       46 return 1 if $count;
54             }
55              
56             sub num_gt {
57 12     12 0 21 my ( $self, $test, $switch ) = @_;
58              
59 12 100       32 return num_lt( $self, $test ) if $switch;
60              
61 8         8 my $count = 0;
62              
63 8         17 for (@$self) {
64 23 100       48 if ( $_ > $test ) {
65 8 100       26 return if $count;
66 6         11 $count = 1;
67             }
68             }
69              
70 6 100       34 return 1 if $count;
71             }
72              
73             sub num_le {
74 14     14 0 24 my ( $self, $test, $switch ) = @_;
75              
76 14 100       52 return num_ge( $self, $test ) if $switch;
77              
78 11         13 my $count = 0;
79              
80 11         20 for (@$self) {
81 23 100       54 if ( $_ <= $test ) {
82 11 100       37 return if $count;
83 9         15 $count = 1;
84             }
85             }
86              
87 9 100       49 return 1 if $count;
88             }
89              
90             sub num_lt {
91 12     12 0 20 my ( $self, $test, $switch ) = @_;
92              
93 12 100       31 return num_gt( $self, $test ) if $switch;
94              
95 8         9 my $count = 0;
96              
97 8         16 for (@$self) {
98 21 100       42 if ( $_ < $test ) {
99 8 100       21 return if $count;
100 6         11 $count = 1;
101             }
102             }
103              
104 6 100       34 return 1 if $count;
105             }
106              
107             sub str_eq {
108 3     3 0 6 my ( $self, $test ) = @_;
109 3         3 my $count = 0;
110              
111 3         9 for (@$self) {
112 6 100       16 if ( $_ eq $test ) {
113 3 100       10 return if $count;
114 2         18 $count = 1;
115             }
116             }
117              
118 2 100       12 return 1 if $count;
119             }
120              
121             sub str_ne {
122 4     4 0 9 my ( $self, $test ) = @_;
123 4         5 my $count = 0;
124              
125 4         10 for (@$self) {
126 9 100       26 if ( $_ ne $test ) {
127 4 100       15 return if $count;
128 3         8 $count = 1;
129             }
130             }
131              
132 3 100       35 return 1 if $count;
133             }
134              
135             sub str_ge {
136 11     11 0 19 my ( $self, $test, $switch ) = @_;
137              
138 11 100       34 return str_le( $self, $test ) if $switch;
139              
140 7         27 my $count = 0;
141              
142 7         17 for (@$self) {
143 13 100       32 if ( $_ ge $test ) {
144 7 100       22 return if $count;
145 5         11 $count = 1;
146             }
147             }
148              
149 5 100       29 return 1 if $count;
150             }
151              
152             sub str_gt {
153 11     11 0 23 my ( $self, $test, $switch ) = @_;
154              
155 11 100       30 return str_lt( $self, $test ) if $switch;
156              
157 7         11 my $count = 0;
158              
159 7         17 for (@$self) {
160 14 100       35 if ( $_ gt $test ) {
161 8 100       25 return if $count;
162 6         24 $count = 1;
163             }
164             }
165              
166 5 100       30 return 1 if $count;
167             }
168              
169             sub str_le {
170 10     10 0 21 my ( $self, $test, $switch ) = @_;
171              
172 10 100       23 return str_ge( $self, $test ) if $switch;
173              
174 7         9 my $count = 0;
175              
176 7         31 for (@$self) {
177 14 100       37 if ( $_ le $test ) {
178 5 100       14 return if $count;
179 4         6 $count = 1;
180             }
181             }
182              
183 6 100       35 return 1 if $count;
184             }
185              
186             sub str_lt {
187 12     12 0 20 my ( $self, $test, $switch ) = @_;
188              
189 12 100       31 return str_gt( $self, $test ) if $switch;
190              
191 8         11 my $count = 0;
192              
193 8         16 for (@$self) {
194 16 100       50 if ( $_ lt $test ) {
195 8 100       27 return if $count;
196 6         12 $count = 1;
197             }
198             }
199              
200 6 100       39 return 1 if $count;
201             }
202              
203             sub regex_eq {
204 5     5 0 12 my ( $self, $test, $switch ) = @_;
205              
206 5         6 my $count = 0;
207              
208 5         12 for (@$self) {
209 12 100       59 if ( $_ =~ $test ) {
210 8 100       31 return if $count;
211 5         11 $count = 1;
212             }
213             }
214              
215 2 50       14 return 1 if $count;
216             }
217              
218             sub regex_ne {
219 4     4 0 7 my ( $self, $test, $switch ) = @_;
220              
221 4         7 my $count = 0;
222              
223 4         10 for (@$self) {
224 11 100       383 if ( $_ !~ $test ) {
225 4 100       23 return if $count;
226 3         8 $count = 1;
227             }
228             }
229              
230 3 100       200 return 1 if $count;
231             }
232              
233             sub bool {
234 5     5 0 56 my ($self) = @_;
235 5         8 my $count = 0;
236              
237 5         23 for (@$self) {
238 11 100       24 if ($_) {
239 5 100       13 return if $count;
240 4         9 $count = 1;
241             }
242             }
243              
244 4 100       20 return 1 if $count;
245             }
246              
247             1;
248