@@ -712,7 +712,9 @@ public function sayEmptyStr(
712
712
* @param array{} $emptyArr
713
713
* @param 'php' $phpStr
714
714
* @param '' $emptyStr
715
- * @param int<10, 20> $intRange
715
+ * @param int<10, 20> $positiveIntRange
716
+ * @param int<-20, -10> $negativeIntRange
717
+ * @param int<-10, 10> $minusTenToTen
716
718
*/
717
719
public function sayInt (
718
720
$ true ,
@@ -728,7 +730,9 @@ public function sayInt(
728
730
$ emptyArr ,
729
731
array $ array ,
730
732
int $ int ,
731
- int $ intRange ,
733
+ int $ positiveIntRange ,
734
+ int $ negativeIntRange ,
735
+ int $ minusTenToTen ,
732
736
): void
733
737
{
734
738
assertType ('bool ' , $ int == $ true );
@@ -744,8 +748,57 @@ public function sayInt(
744
748
assertType ('false ' , $ int == $ emptyArr );
745
749
assertType ('false ' , $ int == $ array );
746
750
747
- assertType ('false ' , $ intRange == $ emptyArr );
748
- assertType ('false ' , $ intRange == $ array );
751
+ assertType ('true ' , $ positiveIntRange == $ true );
752
+ assertType ('false ' , $ positiveIntRange == $ false );
753
+ assertType ('false ' , $ positiveIntRange == $ one );
754
+ assertType ('false ' , $ positiveIntRange == $ zero );
755
+ assertType ('false ' , $ positiveIntRange == $ minusOne );
756
+ assertType ('false ' , $ positiveIntRange == $ oneStr );
757
+ assertType ('false ' , $ positiveIntRange == $ zeroStr );
758
+ assertType ('false ' , $ positiveIntRange == $ minusOneStr );
759
+ assertType ('false ' , $ positiveIntRange == $ plusOneStr );
760
+ assertType ('false ' , $ positiveIntRange == $ null );
761
+ assertType ('false ' , $ positiveIntRange == $ emptyArr );
762
+ assertType ('false ' , $ positiveIntRange == $ array );
763
+
764
+ assertType ('true ' , $ negativeIntRange == $ true );
765
+ assertType ('false ' , $ negativeIntRange == $ false );
766
+ assertType ('false ' , $ negativeIntRange == $ one );
767
+ assertType ('false ' , $ negativeIntRange == $ zero );
768
+ assertType ('false ' , $ negativeIntRange == $ minusOne );
769
+ assertType ('false ' , $ negativeIntRange == $ oneStr );
770
+ assertType ('false ' , $ negativeIntRange == $ zeroStr );
771
+ assertType ('false ' , $ negativeIntRange == $ minusOneStr );
772
+ assertType ('false ' , $ negativeIntRange == $ plusOneStr );
773
+ assertType ('false ' , $ negativeIntRange == $ null );
774
+ assertType ('false ' , $ negativeIntRange == $ emptyArr );
775
+ assertType ('false ' , $ negativeIntRange == $ array );
776
+
777
+ // see https://3v4l.org/VudDK
778
+ assertType ('bool ' , $ minusTenToTen == $ true );
779
+ assertType ('bool ' , $ minusTenToTen == $ false );
780
+ assertType ('bool ' , $ minusTenToTen == $ one );
781
+ assertType ('bool ' , $ minusTenToTen == $ zero );
782
+ assertType ('bool ' , $ minusTenToTen == $ minusOne );
783
+ assertType ('bool ' , $ minusTenToTen == $ oneStr );
784
+ assertType ('bool ' , $ minusTenToTen == $ zeroStr );
785
+ assertType ('bool ' , $ minusTenToTen == $ minusOneStr );
786
+ assertType ('bool ' , $ minusTenToTen == $ plusOneStr );
787
+ assertType ('bool ' , $ minusTenToTen == $ null );
788
+ assertType ('false ' , $ minusTenToTen == $ emptyArr );
789
+ assertType ('false ' , $ minusTenToTen == $ array );
790
+
791
+ // see https://3v4l.org/oJl3K
792
+ assertType ('false ' , $ minusTenToTen < $ null );
793
+ assertType ('bool ' , $ minusTenToTen > $ null );
794
+ assertType ('bool ' , $ minusTenToTen <= $ null );
795
+ assertType ('true ' , $ minusTenToTen >= $ null );
796
+
797
+ // see https://3v4l.org/oRSgU
798
+ assertType ('bool ' , $ null < $ minusTenToTen );
799
+ assertType ('false ' , $ null > $ minusTenToTen );
800
+ assertType ('true ' , $ null <= $ minusTenToTen );
801
+ assertType ('bool ' , $ null >= $ minusTenToTen );
749
802
750
803
}
751
804
0 commit comments