@@ -17,6 +17,39 @@ public function sayLowercase(string $s): void
1717assertType ('lowercase-string ' , $ s
1818}
1919
20+ /** 
21+  * @param lowercase-string $s 
22+  */ 
23+ public  function  sayLowercase2 (string  $ svoid 
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  $ svoid 
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  $ svoid 
46+ {
47+ if  ('0 '  != $ s
48+ assertType ('lowercase-string&non-falsy-string ' , $ s
49+ }
50+ assertType ('lowercase-string ' , $ s
51+ }
52+ 
2053/** 
2154 * @param uppercase-string $s 
2255 */ 
@@ -28,6 +61,39 @@ public function sayUppercase(string $s): void
2861assertType ('uppercase-string ' , $ s
2962}
3063
64+ /** 
65+  * @param uppercase-string $s 
66+  */ 
67+ public  function  sayUppercase2 (string  $ svoid 
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  $ svoid 
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  $ svoid 
90+ {
91+ if  ('0 '  != $ s
92+ assertType ('non-falsy-string&uppercase-string ' , $ s
93+ }
94+ assertType ('uppercase-string ' , $ s
95+ }
96+ 
3197/** 
3298 * @param lowercase-string&uppercase-string $s 
3399 */ 
@@ -38,4 +104,37 @@ public function sayBoth(string $s): void
38104}
39105assertType ('lowercase-string&uppercase-string ' , $ s
40106}
107+ 
108+ /** 
109+  * @param lowercase-string&uppercase-string $s 
110+  */ 
111+ public  function  sayBoth2 (string  $ svoid 
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  $ svoid 
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  $ svoid 
134+ {
135+ if  ('0 '  != $ s
136+ assertType ('lowercase-string&non-falsy-string&uppercase-string ' , $ s
137+ }
138+ assertType ('lowercase-string&uppercase-string ' , $ s
139+ }
41140}
0 commit comments