@@ -17,6 +17,39 @@ public function sayLowercase(string $s): void
17
17
assertType ('lowercase-string ' , $ s );
18
18
}
19
19
20
+ /**
21
+ * @param lowercase-string $s
22
+ */
23
+ public function sayLowercase2 (string $ s ): void
24
+ {
25
+ if ('' != $ s ) {
26
+ assertType ('lowercase-string&non-empty-string ' , $ s );
27
+ }
28
+ assertType ('lowercase-string ' , $ s );
29
+ }
30
+
31
+ /**
32
+ * @param lowercase-string $s
33
+ */
34
+ public function sayLowercase3 (string $ s ): void
35
+ {
36
+ if ($ s != '0 ' ) {
37
+ assertType ('lowercase-string&non-falsy-string ' , $ s );
38
+ }
39
+ assertType ('lowercase-string ' , $ s );
40
+ }
41
+
42
+ /**
43
+ * @param lowercase-string $s
44
+ */
45
+ public function sayLowercase4 (string $ s ): void
46
+ {
47
+ if ('0 ' != $ s ) {
48
+ assertType ('lowercase-string&non-falsy-string ' , $ s );
49
+ }
50
+ assertType ('lowercase-string ' , $ s );
51
+ }
52
+
20
53
/**
21
54
* @param uppercase-string $s
22
55
*/
@@ -28,6 +61,39 @@ public function sayUppercase(string $s): void
28
61
assertType ('uppercase-string ' , $ s );
29
62
}
30
63
64
+ /**
65
+ * @param uppercase-string $s
66
+ */
67
+ public function sayUppercase2 (string $ s ): void
68
+ {
69
+ if ('' != $ s ) {
70
+ assertType ('non-empty-string&uppercase-string ' , $ s );
71
+ }
72
+ assertType ('uppercase-string ' , $ s );
73
+ }
74
+
75
+ /**
76
+ * @param uppercase-string $s
77
+ */
78
+ public function sayUppercase3 (string $ s ): void
79
+ {
80
+ if ($ s != '0 ' ) {
81
+ assertType ('non-falsy-string&uppercase-string ' , $ s );
82
+ }
83
+ assertType ('uppercase-string ' , $ s );
84
+ }
85
+
86
+ /**
87
+ * @param uppercase-string $s
88
+ */
89
+ public function sayUppercase4 (string $ s ): void
90
+ {
91
+ if ('0 ' != $ s ) {
92
+ assertType ('non-falsy-string&uppercase-string ' , $ s );
93
+ }
94
+ assertType ('uppercase-string ' , $ s );
95
+ }
96
+
31
97
/**
32
98
* @param lowercase-string&uppercase-string $s
33
99
*/
@@ -38,4 +104,37 @@ public function sayBoth(string $s): void
38
104
}
39
105
assertType ('lowercase-string&uppercase-string ' , $ s );
40
106
}
107
+
108
+ /**
109
+ * @param lowercase-string&uppercase-string $s
110
+ */
111
+ public function sayBoth2 (string $ s ): void
112
+ {
113
+ if ('' != $ s ) {
114
+ assertType ('lowercase-string&non-empty-string&uppercase-string ' , $ s );
115
+ }
116
+ assertType ('lowercase-string&uppercase-string ' , $ s );
117
+ }
118
+
119
+ /**
120
+ * @param lowercase-string&uppercase-string $s
121
+ */
122
+ public function sayBoth3 (string $ s ): void
123
+ {
124
+ if ($ s != '0 ' ) {
125
+ assertType ('lowercase-string&non-falsy-string&uppercase-string ' , $ s );
126
+ }
127
+ assertType ('lowercase-string&uppercase-string ' , $ s );
128
+ }
129
+
130
+ /**
131
+ * @param lowercase-string&uppercase-string $s
132
+ */
133
+ public function sayBoth4 (string $ s ): void
134
+ {
135
+ if ('0 ' != $ s ) {
136
+ assertType ('lowercase-string&non-falsy-string&uppercase-string ' , $ s );
137
+ }
138
+ assertType ('lowercase-string&uppercase-string ' , $ s );
139
+ }
41
140
}
0 commit comments