@@ -111,6 +111,44 @@ public function testPluralFormsArabic(): void
111111 $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 100 ));
112112 }
113113
114+ /**
115+ * Test Arabic plural edge cases including numbers ending in 01-02
116+ * @throws \ReflectionException
117+ */
118+ public function testArabicPluralEdgeCases (): void
119+ {
120+ // Form 0: zero
121+ $ this ->assertEquals (0 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 0 ));
122+
123+ // Form 1: one
124+ $ this ->assertEquals (1 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 1 ));
125+
126+ // Form 2: two
127+ $ this ->assertEquals (2 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 2 ));
128+
129+ // Form 3: 3-10 (last two digits)
130+ $ this ->assertEquals (3 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 3 ));
131+ $ this ->assertEquals (3 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 10 ));
132+ $ this ->assertEquals (3 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 103 ));
133+ $ this ->assertEquals (3 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 110 ));
134+ $ this ->assertEquals (3 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 203 ));
135+
136+ // Form 4: 11-99 (last two digits)
137+ $ this ->assertEquals (4 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 11 ));
138+ $ this ->assertEquals (4 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 99 ));
139+ $ this ->assertEquals (4 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 111 ));
140+ $ this ->assertEquals (4 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 199 ));
141+
142+ // Form 5: 100, 101, 102, etc.
143+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 100 ));
144+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 101 ));
145+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 102 ));
146+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 200 ));
147+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 201 ));
148+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 202 ));
149+ $ this ->assertEquals (5 , $ this ->pluralMethod ->invoke ($ this ->plurals , 'ar ' , 1001 ));
150+ }
151+
114152 /**
115153 * @throws \ReflectionException
116154 */
0 commit comments