Repository: TRoboto/Maha (language: python)

Issue:
Add "الحادي والحادية" for ordinal dimension
### What problem are you trying to solve?

Allow the parser to extract `"الحادي والعشرون/الثلاثون/الأربعون ....."` or `"الحادية والعشرون/الثلاثون/الأربعون ....."`




### Examples (if relevant)

```py
from maha.parsers.functions import parse_dimension
>>> from datetime import datetime
>>> sample_text = "الحادي والعشرين من الشهر القادم"
>>> parse_dimension(sample_text, ordinal=True)[0].value
21
```

### Definition of Done

- It must adhere to the coding style used in the ordinal dimension.
- The implementation should cover most use cases of "الحادي/الحادية"
- Tests should be added.


Discussion / hints:

Fix patch:
diff --git a/maha/parsers/rules/ordinal/values.py b/maha/parsers/rules/ordinal/values.py
index 28d6ecba..cea9f44f 100644
--- a/maha/parsers/rules/ordinal/values.py
+++ b/maha/parsers/rules/ordinal/values.py
@@ -12,7 +12,11 @@
 ALEF_LAM_OPTIONAL = ALEF_LAM + "?"
 
 
-one_prefix = "واحد"
+one_prefix = non_capturing_group(
+    "واحد",
+    f"{ALL_ALEF}?حد[اى]?",
+    "حاد[يى][ةه]?",
+)
 two_prefix = non_capturing_group("[تث]ان[يى]", "[إا]?[ثت]نت؟[يى]")
 three_prefix = "[تث]ال[ثت]"
 four_prefix = "رابع"
diff --git a/maha/rexy/cache/1061729131065062946.crp b/maha/rexy/cache/1061729131065062946.crp
index 7415947b..2aee4c29 100644
Binary files a/maha/rexy/cache/1061729131065062946.crp and b/maha/rexy/cache/1061729131065062946.crp differ
diff --git a/maha/rexy/cache/1084792521307801884.crp b/maha/rexy/cache/1084792521307801884.crp
index f63232b7..e8a96908 100644
Binary files a/maha/rexy/cache/1084792521307801884.crp and b/maha/rexy/cache/1084792521307801884.crp differ
diff --git a/maha/rexy/cache/1098609110080424196.crp b/maha/rexy/cache/1098609110080424196.crp
index 372c629e..12e50c78 100644
Binary files a/maha/rexy/cache/1098609110080424196.crp and b/maha/rexy/cache/1098609110080424196.crp differ
diff --git a/maha/rexy/cache/2241792971554012862.crp b/maha/rexy/cache/1100514320351486704.crp
similarity index 55%
rename from maha/rexy/cache/2241792971554012862.crp
rename to maha/rexy/cache/1100514320351486704.crp
index 6968e32c..6edcb0b5 100644
Binary files a/maha/rexy/cache/2241792971554012862.crp and b/maha/rexy/cache/1100514320351486704.crp differ
diff --git a/maha/rexy/cache/1114935795093392389.crp b/maha/rexy/cache/1114935795093392389.crp
index 711fe47a..b60ee3e0 100644
Binary files a/maha/rexy/cache/1114935795093392389.crp and b/maha/rexy/cache/1114935795093392389.crp differ
diff --git a/maha/rexy/cache/985516626535523056.crp b/maha/rexy/cache/1115026399872818091.crp
similarity index 56%
rename from maha/rexy/cache/985516626535523056.crp
rename to maha/rexy/cache/1115026399872818091.crp
index 35aa201c..353135e2 100644
Binary files a/maha/rexy/cache/985516626535523056.crp and b/maha/rexy/cache/1115026399872818091.crp differ
diff --git a/maha/rexy/cache/1132041905498580056.crp b/maha/rexy/cache/1132041905498580056.crp
index 79bff307..3c6a69e5 100644
Binary files a/maha/rexy/cache/1132041905498580056.crp and b/maha/rexy/cache/1132041905498580056.crp differ
diff --git a/maha/rexy/cache/1141432581961374340.crp b/maha/rexy/cache/1141432581961374340.crp
index e5a3fd9f..1b7a04e9 100644
Binary files a/maha/rexy/cache/1141432581961374340.crp and b/maha/rexy/cache/1141432581961374340.crp differ
diff --git a/maha/rexy/cache/1176192066873399265.crp b/maha/rexy/cache/1176192066873399265.crp
index 4fe670f2..2fee0825 100644
Binary files a/maha/rexy/cache/1176192066873399265.crp and b/maha/rexy/cache/1176192066873399265.crp differ
diff --git a/maha/rexy/cache/1190162905066732605.crp b/maha/rexy/cache/1190162905066732605.crp
index 4d6065de..43c8bc66 100644
Binary files a/maha/rexy/cache/1190162905066732605.crp and b/maha/rexy/cache/1190162905066732605.crp differ
diff --git a/maha/rexy/cache/1219946796474845018.crp b/maha/rexy/cache/1219946796474845018.crp
index 5e12f697..12dd2f4b 100644
Binary files a/maha/rexy/cache/1219946796474845018.crp and b/maha/rexy/cache/1219946796474845018.crp differ
diff --git a/maha/rexy/cache/122466667616608736.crp b/maha/rexy/cache/122466667616608736.crp
index 0beedbb6..2f699ee3 100644
Binary files a/maha/rexy/cache/122466667616608736.crp and b/maha/rexy/cache/122466667616608736.crp differ
diff --git a/maha/rexy/cache/1242477589173004866.crp b/maha/rexy/cache/1242477589173004866.crp
index 2e10fde5..27037389 100644
Binary files a/maha/rexy/cache/1242477589173004866.crp and b/maha/rexy/cache/1242477589173004866.crp differ
diff --git a/maha/rexy/cache/1274278154179042362.crp b/maha/rexy/cache/1274278154179042362.crp
index 1947c41f..36fce941 100644
Binary files a/maha/rexy/cache/1274278154179042362.crp and b/maha/rexy/cache/1274278154179042362.crp differ
diff --git a/maha/rexy/cache/945598749424407451.crp b/maha/rexy/cache/1287928660501231175.crp
similarity index 60%
rename from maha/rexy/cache/945598749424407451.crp
rename to maha/rexy/cache/1287928660501231175.crp
index 2f587c30..dd01aa2c 100644
Binary files a/maha/rexy/cache/945598749424407451.crp and b/maha/rexy/cache/1287928660501231175.crp differ
diff --git a/maha/rexy/cache/1301314018466712804.crp b/maha/rexy/cache/1301314018466712804.crp
index 8adccc6c..64e6f821 100644
Binary files a/maha/rexy/cache/1301314018466712804.crp and b/maha/rexy/cache/1301314018466712804.crp differ
diff --git a/maha/rexy/cache/961230404593317476.crp b/maha/rexy/cache/1318361119970075419.crp
similarity index 63%
rename from maha/rexy/cache/961230404593317476.crp
rename to maha/rexy/cache/1318361119970075419.crp
index 8b5a1040..9222f237 100644
Binary files a/maha/rexy/cache/961230404593317476.crp and b/maha/rexy/cache/1318361119970075419.crp differ
diff --git a/maha/rexy/cache/1344619313821264840.crp b/maha/rexy/cache/1344619313821264840.crp
index 8590f97f..e7880d8e 100644
Binary files a/maha/rexy/cache/1344619313821264840.crp and b/maha/rexy/cache/1344619313821264840.crp differ
diff --git a/maha/rexy/cache/1348387319838165193.crp b/maha/rexy/cache/1348387319838165193.crp
index 9bf12708..5f0ff910 100644
Binary files a/maha/rexy/cache/1348387319838165193.crp and b/maha/rexy/cache/1348387319838165193.crp differ
diff --git a/maha/rexy/cache/1124180530717721539.crp b/maha/rexy/cache/1351365843691409165.crp
similarity index 53%
rename from maha/rexy/cache/1124180530717721539.crp
rename to maha/rexy/cache/1351365843691409165.crp
index 24962c15..ed0c513f 100644
Binary files a/maha/rexy/cache/1124180530717721539.crp and b/maha/rexy/cache/1351365843691409165.crp differ
diff --git a/maha/rexy/cache/1394248543064622316.crp b/maha/rexy/cache/1394248543064622316.crp
index 7df932ca..275d8c50 100644
Binary files a/maha/rexy/cache/1394248543064622316.crp and b/maha/rexy/cache/1394248543064622316.crp differ
diff --git a/maha/rexy/cache/621777640024157609.crp b/maha/rexy/cache/1397265984737443591.crp
similarity index 73%
rename from maha/rexy/cache/621777640024157609.crp
rename to maha/rexy/cache/1397265984737443591.crp
index 4b34e40f..207dcd62 100644
Binary files a/maha/rexy/cache/621777640024157609.crp and b/maha/rexy/cache/1397265984737443591.crp differ
diff --git a/maha/rexy/cache/1420162632855444506.crp b/maha/rexy/cache/1397711368195516970.crp
similarity index 57%
rename from maha/rexy/cache/1420162632855444506.crp
rename to maha/rexy/cache/1397711368195516970.crp
index 0b0a811b..0083f181 100644
Binary files a/maha/rexy/cache/1420162632855444506.crp and b/maha/rexy/cache/1397711368195516970.crp differ
diff --git a/maha/rexy/cache/1519004278864626923.crp b/maha/rexy/cache/1469481275626387484.crp
similarity index 55%
rename from maha/rexy/cache/1519004278864626923.crp
rename to maha/rexy/cache/1469481275626387484.crp
index 5dd4786c..48128beb 100644
Binary files a/maha/rexy/cache/1519004278864626923.crp and b/maha/rexy/cache/1469481275626387484.crp differ
diff --git a/maha/rexy/cache/1933953894573845731.crp b/maha/rexy/cache/1472942982090315999.crp
similarity index 71%
rename from maha/rexy/cache/1933953894573845731.crp
rename to maha/rexy/cache/1472942982090315999.crp
index bd1ca619..6516374a 100644
Binary files a/maha/rexy/cache/1933953894573845731.crp and b/maha/rexy/cache/1472942982090315999.crp differ
diff --git a/maha/rexy/cache/1489842715964901109.crp b/maha/rexy/cache/1489842715964901109.crp
index 20c905ec..5e4dc189 100644
Binary files a/maha/rexy/cache/1489842715964901109.crp and b/maha/rexy/cache/1489842715964901109.crp differ
diff --git a/maha/rexy/cache/1514834502216725727.crp b/maha/rexy/cache/1514834502216725727.crp
index bd71e04c..d492160e 100644
Binary files a/maha/rexy/cache/1514834502216725727.crp and b/maha/rexy/cache/1514834502216725727.crp differ
diff --git a/maha/rexy/cache/1519560617664378919.crp b/maha/rexy/cache/1519560617664378919.crp
index c05e692e..4b32c4d4 100644
Binary files a/maha/rexy/cache/1519560617664378919.crp and b/maha/rexy/cache/1519560617664378919.crp differ
diff --git a/maha/rexy/cache/1532674284943751900.crp b/maha/rexy/cache/1532674284943751900.crp
index 47c5245b..cd640a35 100644
Binary files a/maha/rexy/cache/1532674284943751900.crp and b/maha/rexy/cache/1532674284943751900.crp differ
diff --git a/maha/rexy/cache/1554390693237737629.crp b/maha/rexy/cache/1619721950404326029.crp
similarity index 74%
rename from maha/rexy/cache/1554390693237737629.crp
rename to maha/rexy/cache/1619721950404326029.crp
index ad67d19c..bf0294f0 100644
Binary files a/maha/rexy/cache/1554390693237737629.crp and b/maha/rexy/cache/1619721950404326029.crp differ
diff --git a/maha/rexy/cache/1629510216642020348.crp b/maha/rexy/cache/1629510216642020348.crp
index fe7a3518..1f084993 100644
Binary files a/maha/rexy/cache/1629510216642020348.crp and b/maha/rexy/cache/1629510216642020348.crp differ
diff --git a/maha/rexy/cache/1282388511617275877.crp b/maha/rexy/cache/1648414358024233921.crp
similarity index 58%
rename from maha/rexy/cache/1282388511617275877.crp
rename to maha/rexy/cache/1648414358024233921.crp
index eb31f1b8..e3228e44 100644
Binary files a/maha/rexy/cache/1282388511617275877.crp and b/maha/rexy/cache/1648414358024233921.crp differ
diff --git a/maha/rexy/cache/1658873670083126259.crp b/maha/rexy/cache/1658873670083126259.crp
index 7dbcb362..f1a46ae0 100644
Binary files a/maha/rexy/cache/1658873670083126259.crp and b/maha/rexy/cache/1658873670083126259.crp differ
diff --git a/maha/rexy/cache/1741507498841088482.crp b/maha/rexy/cache/1741507498841088482.crp
index 8481b751..4608b2e9 100644
Binary files a/maha/rexy/cache/1741507498841088482.crp and b/maha/rexy/cache/1741507498841088482.crp differ
diff --git a/maha/rexy/cache/1766691931390518612.crp b/maha/rexy/cache/1766691931390518612.crp
index ce2e560f..81a4912a 100644
Binary files a/maha/rexy/cache/1766691931390518612.crp and b/maha/rexy/cache/1766691931390518612.crp differ
diff --git a/maha/rexy/cache/1869951000334868637.crp b/maha/rexy/cache/1869951000334868637.crp
index 181d5c02..7b16db87 100644
Binary files a/maha/rexy/cache/1869951000334868637.crp and b/maha/rexy/cache/1869951000334868637.crp differ
diff --git a/maha/rexy/cache/2024442452855574452.crp b/maha/rexy/cache/1888802017497107539.crp
similarity index 59%
rename from maha/rexy/cache/2024442452855574452.crp
rename to maha/rexy/cache/1888802017497107539.crp
index cbd5fec0..d1ca0243 100644
Binary files a/maha/rexy/cache/2024442452855574452.crp and b/maha/rexy/cache/1888802017497107539.crp differ
diff --git a/maha/rexy/cache/2017307429553252430.crp b/maha/rexy/cache/1899820019336094332.crp
similarity index 57%
rename from maha/rexy/cache/2017307429553252430.crp
rename to maha/rexy/cache/1899820019336094332.crp
index 3d5eca61..0de1eca7 100644
Binary files a/maha/rexy/cache/2017307429553252430.crp and b/maha/rexy/cache/1899820019336094332.crp differ
diff --git a/maha/rexy/cache/1920719143030869980.crp b/maha/rexy/cache/1920719143030869980.crp
index ed22af4c..e47d1543 100644
Binary files a/maha/rexy/cache/1920719143030869980.crp and b/maha/rexy/cache/1920719143030869980.crp differ
diff --git a/maha/rexy/cache/1922359042520177326.crp b/maha/rexy/cache/1922359042520177326.crp
index 33849da7..46de247d 100644
Binary files a/maha/rexy/cache/1922359042520177326.crp and b/maha/rexy/cache/1922359042520177326.crp differ
diff --git a/maha/rexy/cache/1992155800567845138.crp b/maha/rexy/cache/1992155800567845138.crp
index 2a6083d4..657740ed 100644
Binary files a/maha/rexy/cache/1992155800567845138.crp and b/maha/rexy/cache/1992155800567845138.crp differ
diff --git a/maha/rexy/cache/202388887162294941.crp b/maha/rexy/cache/202388887162294941.crp
index 525c5d96..2d840db5 100644
Binary files a/maha/rexy/cache/202388887162294941.crp and b/maha/rexy/cache/202388887162294941.crp differ
diff --git a/maha/rexy/cache/2057079240165316147.crp b/maha/rexy/cache/2057079240165316147.crp
index 61bc21b4..5c9e63dd 100644
Binary files a/maha/rexy/cache/2057079240165316147.crp and b/maha/rexy/cache/2057079240165316147.crp differ
diff --git a/maha/rexy/cache/2261190123109285056.crp b/maha/rexy/cache/2071954543464766920.crp
similarity index 65%
rename from maha/rexy/cache/2261190123109285056.crp
rename to maha/rexy/cache/2071954543464766920.crp
index e1c1a56e..80fd973a 100644
Binary files a/maha/rexy/cache/2261190123109285056.crp and b/maha/rexy/cache/2071954543464766920.crp differ
diff --git a/maha/rexy/cache/2079350996302151896.crp b/maha/rexy/cache/2079350996302151896.crp
index 205e3b38..76c602c5 100644
Binary files a/maha/rexy/cache/2079350996302151896.crp and b/maha/rexy/cache/2079350996302151896.crp differ
diff --git a/maha/rexy/cache/2110096684829937865.crp b/maha/rexy/cache/2110096684829937865.crp
index a046684a..2fad499c 100644
Binary files a/maha/rexy/cache/2110096684829937865.crp and b/maha/rexy/cache/2110096684829937865.crp differ
diff --git a/maha/rexy/cache/2151821022374320594.crp b/maha/rexy/cache/2151821022374320594.crp
index a2bcb984..82877d21 100644
Binary files a/maha/rexy/cache/2151821022374320594.crp and b/maha/rexy/cache/2151821022374320594.crp differ
diff --git a/maha/rexy/cache/2154635403677834454.crp b/maha/rexy/cache/2154635403677834454.crp
index a63213df..c5c972c5 100644
Binary files a/maha/rexy/cache/2154635403677834454.crp and b/maha/rexy/cache/2154635403677834454.crp differ
diff --git a/maha/rexy/cache/2183098507009851187.crp b/maha/rexy/cache/2183098507009851187.crp
index 6ab965a3..9a34218e 100644
Binary files a/maha/rexy/cache/2183098507009851187.crp and b/maha/rexy/cache/2183098507009851187.crp differ
diff --git a/maha/rexy/cache/2184070805601146416.crp b/maha/rexy/cache/2184070805601146416.crp
index 0788bdfe..82284979 100644
Binary files a/maha/rexy/cache/2184070805601146416.crp and b/maha/rexy/cache/2184070805601146416.crp differ
diff --git a/maha/rexy/cache/2197701005507059515.crp b/maha/rexy/cache/2197701005507059515.crp
index 534ae343..001846c6 100644
Binary files a/maha/rexy/cache/2197701005507059515.crp and b/maha/rexy/cache/2197701005507059515.crp differ
diff --git a/maha/rexy/cache/2214916142636930408.crp b/maha/rexy/cache/2214916142636930408.crp
index 0a0bfa77..b4cae1f9 100644
Binary files a/maha/rexy/cache/2214916142636930408.crp and b/maha/rexy/cache/2214916142636930408.crp differ
diff --git a/maha/rexy/cache/2223741128242393260.crp b/maha/rexy/cache/2223741128242393260.crp
index 267c829d..7f62b11d 100644
Binary files a/maha/rexy/cache/2223741128242393260.crp and b/maha/rexy/cache/2223741128242393260.crp differ
diff --git a/maha/rexy/cache/2235578911988049647.crp b/maha/rexy/cache/2235578911988049647.crp
index 1666cdda..7987561c 100644
Binary files a/maha/rexy/cache/2235578911988049647.crp and b/maha/rexy/cache/2235578911988049647.crp differ
diff --git a/maha/rexy/cache/2201902455067657659.crp b/maha/rexy/cache/2298677726974297721.crp
similarity index 56%
rename from maha/rexy/cache/2201902455067657659.crp
rename to maha/rexy/cache/2298677726974297721.crp
index d2c51c12..4a7dddf8 100644
Binary files a/maha/rexy/cache/2201902455067657659.crp and b/maha/rexy/cache/2298677726974297721.crp differ
diff --git a/maha/rexy/cache/265642085439995068.crp b/maha/rexy/cache/265642085439995068.crp
index abeddf7f..01db31bd 100644
Binary files a/maha/rexy/cache/265642085439995068.crp and b/maha/rexy/cache/265642085439995068.crp differ
diff --git a/maha/rexy/cache/287652788147537764.crp b/maha/rexy/cache/287652788147537764.crp
index 71293a68..85e3842a 100644
Binary files a/maha/rexy/cache/287652788147537764.crp and b/maha/rexy/cache/287652788147537764.crp differ
diff --git a/maha/rexy/cache/296498563684670697.crp b/maha/rexy/cache/296498563684670697.crp
index dcb48a95..efd3b4b9 100644
Binary files a/maha/rexy/cache/296498563684670697.crp and b/maha/rexy/cache/296498563684670697.crp differ
diff --git a/maha/rexy/cache/379101283550393882.crp b/maha/rexy/cache/379101283550393882.crp
index cf2636a4..85d48e8a 100644
Binary files a/maha/rexy/cache/379101283550393882.crp and b/maha/rexy/cache/379101283550393882.crp differ
diff --git a/maha/rexy/cache/390358003655643784.crp b/maha/rexy/cache/390358003655643784.crp
index 8df611b3..874bbd64 100644
Binary files a/maha/rexy/cache/390358003655643784.crp and b/maha/rexy/cache/390358003655643784.crp differ
diff --git a/maha/rexy/cache/396256851588519546.crp b/maha/rexy/cache/396256851588519546.crp
index 4429a45e..e209a9be 100644
Binary files a/maha/rexy/cache/396256851588519546.crp and b/maha/rexy/cache/396256851588519546.crp differ
diff --git a/maha/rexy/cache/414232850294493380.crp b/maha/rexy/cache/414232850294493380.crp
index 425b6d32..135a45ba 100644
Binary files a/maha/rexy/cache/414232850294493380.crp and b/maha/rexy/cache/414232850294493380.crp differ
diff --git a/maha/rexy/cache/426756362040093933.crp b/maha/rexy/cache/426756362040093933.crp
index 2b55eddf..d1b383a2 100644
Binary files a/maha/rexy/cache/426756362040093933.crp and b/maha/rexy/cache/426756362040093933.crp differ
diff --git a/maha/rexy/cache/458529415398829030.crp b/maha/rexy/cache/458529415398829030.crp
index c8fd925d..b202f591 100644
Binary files a/maha/rexy/cache/458529415398829030.crp and b/maha/rexy/cache/458529415398829030.crp differ
diff --git a/maha/rexy/cache/478524450493236968.crp b/maha/rexy/cache/478524450493236968.crp
index d0706f2b..b58ed350 100644
Binary files a/maha/rexy/cache/478524450493236968.crp and b/maha/rexy/cache/478524450493236968.crp differ
diff --git a/maha/rexy/cache/1350071178380381244.crp b/maha/rexy/cache/491330973141900804.crp
similarity index 58%
rename from maha/rexy/cache/1350071178380381244.crp
rename to maha/rexy/cache/491330973141900804.crp
index 4083dac3..8f5bb312 100644
Binary files a/maha/rexy/cache/1350071178380381244.crp and b/maha/rexy/cache/491330973141900804.crp differ
diff --git a/maha/rexy/cache/1803771547264942918.crp b/maha/rexy/cache/537741972619446954.crp
similarity index 60%
rename from maha/rexy/cache/1803771547264942918.crp
rename to maha/rexy/cache/537741972619446954.crp
index e9350a97..209f101f 100644
Binary files a/maha/rexy/cache/1803771547264942918.crp and b/maha/rexy/cache/537741972619446954.crp differ
diff --git a/maha/rexy/cache/578776352037073199.crp b/maha/rexy/cache/578776352037073199.crp
index 27ebaf49..4e7a999d 100644
Binary files a/maha/rexy/cache/578776352037073199.crp and b/maha/rexy/cache/578776352037073199.crp differ
diff --git a/maha/rexy/cache/1047631870360839116.crp b/maha/rexy/cache/601583193101207247.crp
similarity index 69%
rename from maha/rexy/cache/1047631870360839116.crp
rename to maha/rexy/cache/601583193101207247.crp
index ab202d09..88b287dc 100644
Binary files a/maha/rexy/cache/1047631870360839116.crp and b/maha/rexy/cache/601583193101207247.crp differ
diff --git a/maha/rexy/cache/60806796812352904.crp b/maha/rexy/cache/60806796812352904.crp
index 51be6616..e7fc3826 100644
Binary files a/maha/rexy/cache/60806796812352904.crp and b/maha/rexy/cache/60806796812352904.crp differ
diff --git a/maha/rexy/cache/702517378179019684.crp b/maha/rexy/cache/702517378179019684.crp
index a4586d65..3ec643a3 100644
Binary files a/maha/rexy/cache/702517378179019684.crp and b/maha/rexy/cache/702517378179019684.crp differ
diff --git a/maha/rexy/cache/1031577966745851711.crp b/maha/rexy/cache/738236411073678340.crp
similarity index 57%
rename from maha/rexy/cache/1031577966745851711.crp
rename to maha/rexy/cache/738236411073678340.crp
index 6fca337a..0dbbab6a 100644
Binary files a/maha/rexy/cache/1031577966745851711.crp and b/maha/rexy/cache/738236411073678340.crp differ
diff --git a/maha/rexy/cache/77881315212600933.crp b/maha/rexy/cache/77881315212600933.crp
index 0985f8cd..ca534d81 100644
Binary files a/maha/rexy/cache/77881315212600933.crp and b/maha/rexy/cache/77881315212600933.crp differ
diff --git a/maha/rexy/cache/780025619311333761.crp b/maha/rexy/cache/780025619311333761.crp
index 23e1e857..766f03bf 100644
Binary files a/maha/rexy/cache/780025619311333761.crp and b/maha/rexy/cache/780025619311333761.crp differ
diff --git a/maha/rexy/cache/800527118043824489.crp b/maha/rexy/cache/800527118043824489.crp
index f7127a94..c9da8cab 100644
Binary files a/maha/rexy/cache/800527118043824489.crp and b/maha/rexy/cache/800527118043824489.crp differ
diff --git a/maha/rexy/cache/645311806165924971.crp b/maha/rexy/cache/822568487051920246.crp
similarity index 55%
rename from maha/rexy/cache/645311806165924971.crp
rename to maha/rexy/cache/822568487051920246.crp
index 08e5aa92..ea7660b6 100644
Binary files a/maha/rexy/cache/645311806165924971.crp and b/maha/rexy/cache/822568487051920246.crp differ
diff --git a/maha/rexy/cache/834721096717693491.crp b/maha/rexy/cache/834721096717693491.crp
index 72e4b393..31b65818 100644
Binary files a/maha/rexy/cache/834721096717693491.crp and b/maha/rexy/cache/834721096717693491.crp differ
diff --git a/maha/rexy/cache/876178070856484984.crp b/maha/rexy/cache/876178070856484984.crp
index 51a7c34c..08a41cbd 100644
Binary files a/maha/rexy/cache/876178070856484984.crp and b/maha/rexy/cache/876178070856484984.crp differ
diff --git a/maha/rexy/cache/898756615206754822.crp b/maha/rexy/cache/898756615206754822.crp
index a5b13198..d842ff3b 100644
Binary files a/maha/rexy/cache/898756615206754822.crp and b/maha/rexy/cache/898756615206754822.crp differ
diff --git a/maha/rexy/cache/95953317035185517.crp b/maha/rexy/cache/95953317035185517.crp
index 5ef1d241..7287be5d 100644
Binary files a/maha/rexy/cache/95953317035185517.crp and b/maha/rexy/cache/95953317035185517.crp differ
diff --git a/maha/rexy/cache/975458955367830824.crp b/maha/rexy/cache/975458955367830824.crp
index 4ec74be5..515c9a6f 100644
Binary files a/maha/rexy/cache/975458955367830824.crp and b/maha/rexy/cache/975458955367830824.crp differ


Test patch:
diff --git a/tests/parsers/test_ordinal.py b/tests/parsers/test_ordinal.py
index f0413c81..662fba48 100644
--- a/tests/parsers/test_ordinal.py
+++ b/tests/parsers/test_ordinal.py
@@ -110,7 +110,17 @@ def test_perfect_tens(input, expected):
 @pytest.mark.parametrize(
     "input, expected",
     chain(
-        get_value(21, ["الواحد والعشرين", "الواحد والعشرون", "الواحدة والعشرون"]),
+        get_value(
+            21,
+            [
+                "الواحد والعشرين",
+                "الواحد والعشرون",
+                "الواحدة والعشرون",
+                "الحادي والعشرين",
+                "الحادية والعشرون",
+                "الإحدى والعشرين",
+            ],
+        ),
         get_value(32, ["الثاني والثلاثين", "الثاني والتلاتين", "الثانية والثلاثون"]),
         get_value(43, ["الثالثة والأربعين", "الثالث والأربعون"]),
         get_value(44, ["الرابع والاربعون", "الرابع والاربعون"]),