Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
29 / 29 |
|
100.00% |
7 / 7 |
CRAP | |
100.00% |
1 / 1 |
Util | |
100.00% |
29 / 29 |
|
100.00% |
7 / 7 |
20 | |
100.00% |
1 / 1 |
toString | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
2 | |||
oneTrue | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
3 | |||
oneFalse | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
3 | |||
anyTrue | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
3 | |||
anyFalse | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
3 | |||
allTrue | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
3 | |||
allFalse | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
3 |
1 | <?php |
2 | |
3 | /** |
4 | * @license MIT |
5 | * @author hazuki3417<hazuki3417@gmail.com> |
6 | * @copyright 2022 hazuki3417 all rights reserved. |
7 | */ |
8 | |
9 | namespace Selen\Bool; |
10 | |
11 | /** |
12 | * bool型のユーティリティクラスです |
13 | */ |
14 | class Util |
15 | { |
16 | /** |
17 | * bool型を真偽値文字列に変換します |
18 | * |
19 | * @param bool $value 真偽値を渡します |
20 | * |
21 | * @return string 変換した値を返します |
22 | */ |
23 | public static function toString(bool $value): string |
24 | { |
25 | return $value ? 'true' : 'false'; |
26 | } |
27 | |
28 | /** |
29 | * trueが1つだけ存在するか確認します |
30 | * |
31 | * @param bool $values 真偽値を渡します |
32 | * |
33 | * @return bool 1つだけ存在する場合はtrueを、それ以外の場合はfalseを返します |
34 | */ |
35 | public static function oneTrue(bool ...$values): bool |
36 | { |
37 | $count = 0; |
38 | |
39 | foreach ($values as $result) { |
40 | if ($result === true) { |
41 | ++$count; |
42 | } |
43 | } |
44 | return $count === 1; |
45 | } |
46 | |
47 | /** |
48 | * falseが1つだけ存在するか確認します |
49 | * |
50 | * @param bool $values 真偽値を渡します |
51 | * |
52 | * @return bool 1つだけ存在する場合はtrueを、それ以外の場合はfalseを返します |
53 | */ |
54 | public static function oneFalse(bool ...$values): bool |
55 | { |
56 | $count = 0; |
57 | |
58 | foreach ($values as $result) { |
59 | if ($result === false) { |
60 | ++$count; |
61 | } |
62 | } |
63 | return $count === 1; |
64 | } |
65 | |
66 | /** |
67 | * trueが存在するか確認します |
68 | * |
69 | * @param bool $values 真偽値を渡します |
70 | * |
71 | * @return bool 存在する場合はtrueを、それ以外の場合はfalseを返します |
72 | */ |
73 | public static function anyTrue(bool ...$values): bool |
74 | { |
75 | foreach ($values as $result) { |
76 | if ($result === true) { |
77 | return true; |
78 | } |
79 | } |
80 | return false; |
81 | } |
82 | |
83 | /** |
84 | * falseが存在するか確認します |
85 | * |
86 | * @param bool $values 真偽値を渡します |
87 | * |
88 | * @return bool 存在する場合はtrueを、それ以外の場合はfalseを返します |
89 | */ |
90 | public static function anyFalse(bool ...$values): bool |
91 | { |
92 | foreach ($values as $result) { |
93 | if ($result === false) { |
94 | return true; |
95 | } |
96 | } |
97 | return false; |
98 | } |
99 | |
100 | /** |
101 | * すべてtrueか確認します |
102 | * |
103 | * @param bool $values 真偽値を渡します |
104 | * |
105 | * @return bool すべてtrueの場合はtrueを、それ以外の場合はfalseを返します |
106 | */ |
107 | public static function allTrue(bool ...$values): bool |
108 | { |
109 | $count = 0; |
110 | |
111 | foreach ($values as $result) { |
112 | if ($result === true) { |
113 | ++$count; |
114 | } |
115 | } |
116 | return $count === count($values); |
117 | } |
118 | |
119 | /** |
120 | * すべてfalseか確認します |
121 | * |
122 | * @param bool $values 真偽値を渡します |
123 | * |
124 | * @return bool すべてfalseの場合はtrueを、それ以外の場合はfalseを返します |
125 | */ |
126 | public static function allFalse(bool ...$values): bool |
127 | { |
128 | $count = 0; |
129 | |
130 | foreach ($values as $result) { |
131 | if ($result === false) { |
132 | ++$count; |
133 | } |
134 | } |
135 | return $count === count($values); |
136 | } |
137 | } |