ikarus/scheme/tests/case-folding.ss

1037 lines
25 KiB
Scheme

(library (tests case-folding)
(export run-tests)
(import (ikarus))
(define case-fold-mapping
'((#\x0041 #\x0061)
(#\x0042 #\x0062)
(#\x0043 #\x0063)
(#\x0044 #\x0064)
(#\x0045 #\x0065)
(#\x0046 #\x0066)
(#\x0047 #\x0067)
(#\x0048 #\x0068)
(#\x0049 #\x0069)
(#\x004A #\x006A)
(#\x004B #\x006B)
(#\x004C #\x006C)
(#\x004D #\x006D)
(#\x004E #\x006E)
(#\x004F #\x006F)
(#\x0050 #\x0070)
(#\x0051 #\x0071)
(#\x0052 #\x0072)
(#\x0053 #\x0073)
(#\x0054 #\x0074)
(#\x0055 #\x0075)
(#\x0056 #\x0076)
(#\x0057 #\x0077)
(#\x0058 #\x0078)
(#\x0059 #\x0079)
(#\x005A #\x007A)
(#\x00B5 #\x03BC)
(#\x00C0 #\x00E0)
(#\x00C1 #\x00E1)
(#\x00C2 #\x00E2)
(#\x00C3 #\x00E3)
(#\x00C4 #\x00E4)
(#\x00C5 #\x00E5)
(#\x00C6 #\x00E6)
(#\x00C7 #\x00E7)
(#\x00C8 #\x00E8)
(#\x00C9 #\x00E9)
(#\x00CA #\x00EA)
(#\x00CB #\x00EB)
(#\x00CC #\x00EC)
(#\x00CD #\x00ED)
(#\x00CE #\x00EE)
(#\x00CF #\x00EF)
(#\x00D0 #\x00F0)
(#\x00D1 #\x00F1)
(#\x00D2 #\x00F2)
(#\x00D3 #\x00F3)
(#\x00D4 #\x00F4)
(#\x00D5 #\x00F5)
(#\x00D6 #\x00F6)
(#\x00D8 #\x00F8)
(#\x00D9 #\x00F9)
(#\x00DA #\x00FA)
(#\x00DB #\x00FB)
(#\x00DC #\x00FC)
(#\x00DD #\x00FD)
(#\x00DE #\x00FE)
(#\x00DF #\x0073 #\x0073)
(#\x0100 #\x0101)
(#\x0102 #\x0103)
(#\x0104 #\x0105)
(#\x0106 #\x0107)
(#\x0108 #\x0109)
(#\x010A #\x010B)
(#\x010C #\x010D)
(#\x010E #\x010F)
(#\x0110 #\x0111)
(#\x0112 #\x0113)
(#\x0114 #\x0115)
(#\x0116 #\x0117)
(#\x0118 #\x0119)
(#\x011A #\x011B)
(#\x011C #\x011D)
(#\x011E #\x011F)
(#\x0120 #\x0121)
(#\x0122 #\x0123)
(#\x0124 #\x0125)
(#\x0126 #\x0127)
(#\x0128 #\x0129)
(#\x012A #\x012B)
(#\x012C #\x012D)
(#\x012E #\x012F)
(#\x0130 #\x0069 #\x0307)
(#\x0132 #\x0133)
(#\x0134 #\x0135)
(#\x0136 #\x0137)
(#\x0139 #\x013A)
(#\x013B #\x013C)
(#\x013D #\x013E)
(#\x013F #\x0140)
(#\x0141 #\x0142)
(#\x0143 #\x0144)
(#\x0145 #\x0146)
(#\x0147 #\x0148)
(#\x0149 #\x02BC #\x006E)
(#\x014A #\x014B)
(#\x014C #\x014D)
(#\x014E #\x014F)
(#\x0150 #\x0151)
(#\x0152 #\x0153)
(#\x0154 #\x0155)
(#\x0156 #\x0157)
(#\x0158 #\x0159)
(#\x015A #\x015B)
(#\x015C #\x015D)
(#\x015E #\x015F)
(#\x0160 #\x0161)
(#\x0162 #\x0163)
(#\x0164 #\x0165)
(#\x0166 #\x0167)
(#\x0168 #\x0169)
(#\x016A #\x016B)
(#\x016C #\x016D)
(#\x016E #\x016F)
(#\x0170 #\x0171)
(#\x0172 #\x0173)
(#\x0174 #\x0175)
(#\x0176 #\x0177)
(#\x0178 #\x00FF)
(#\x0179 #\x017A)
(#\x017B #\x017C)
(#\x017D #\x017E)
(#\x017F #\x0073)
(#\x0181 #\x0253)
(#\x0182 #\x0183)
(#\x0184 #\x0185)
(#\x0186 #\x0254)
(#\x0187 #\x0188)
(#\x0189 #\x0256)
(#\x018A #\x0257)
(#\x018B #\x018C)
(#\x018E #\x01DD)
(#\x018F #\x0259)
(#\x0190 #\x025B)
(#\x0191 #\x0192)
(#\x0193 #\x0260)
(#\x0194 #\x0263)
(#\x0196 #\x0269)
(#\x0197 #\x0268)
(#\x0198 #\x0199)
(#\x019C #\x026F)
(#\x019D #\x0272)
(#\x019F #\x0275)
(#\x01A0 #\x01A1)
(#\x01A2 #\x01A3)
(#\x01A4 #\x01A5)
(#\x01A6 #\x0280)
(#\x01A7 #\x01A8)
(#\x01A9 #\x0283)
(#\x01AC #\x01AD)
(#\x01AE #\x0288)
(#\x01AF #\x01B0)
(#\x01B1 #\x028A)
(#\x01B2 #\x028B)
(#\x01B3 #\x01B4)
(#\x01B5 #\x01B6)
(#\x01B7 #\x0292)
(#\x01B8 #\x01B9)
(#\x01BC #\x01BD)
(#\x01C4 #\x01C6)
(#\x01C5 #\x01C6)
(#\x01C7 #\x01C9)
(#\x01C8 #\x01C9)
(#\x01CA #\x01CC)
(#\x01CB #\x01CC)
(#\x01CD #\x01CE)
(#\x01CF #\x01D0)
(#\x01D1 #\x01D2)
(#\x01D3 #\x01D4)
(#\x01D5 #\x01D6)
(#\x01D7 #\x01D8)
(#\x01D9 #\x01DA)
(#\x01DB #\x01DC)
(#\x01DE #\x01DF)
(#\x01E0 #\x01E1)
(#\x01E2 #\x01E3)
(#\x01E4 #\x01E5)
(#\x01E6 #\x01E7)
(#\x01E8 #\x01E9)
(#\x01EA #\x01EB)
(#\x01EC #\x01ED)
(#\x01EE #\x01EF)
(#\x01F0 #\x006A #\x030C)
(#\x01F1 #\x01F3)
(#\x01F2 #\x01F3)
(#\x01F4 #\x01F5)
(#\x01F6 #\x0195)
(#\x01F7 #\x01BF)
(#\x01F8 #\x01F9)
(#\x01FA #\x01FB)
(#\x01FC #\x01FD)
(#\x01FE #\x01FF)
(#\x0200 #\x0201)
(#\x0202 #\x0203)
(#\x0204 #\x0205)
(#\x0206 #\x0207)
(#\x0208 #\x0209)
(#\x020A #\x020B)
(#\x020C #\x020D)
(#\x020E #\x020F)
(#\x0210 #\x0211)
(#\x0212 #\x0213)
(#\x0214 #\x0215)
(#\x0216 #\x0217)
(#\x0218 #\x0219)
(#\x021A #\x021B)
(#\x021C #\x021D)
(#\x021E #\x021F)
(#\x0220 #\x019E)
(#\x0222 #\x0223)
(#\x0224 #\x0225)
(#\x0226 #\x0227)
(#\x0228 #\x0229)
(#\x022A #\x022B)
(#\x022C #\x022D)
(#\x022E #\x022F)
(#\x0230 #\x0231)
(#\x0232 #\x0233)
(#\x023A #\x2C65)
(#\x023B #\x023C)
(#\x023D #\x019A)
(#\x023E #\x2C66)
(#\x0241 #\x0242)
(#\x0243 #\x0180)
(#\x0244 #\x0289)
(#\x0245 #\x028C)
(#\x0246 #\x0247)
(#\x0248 #\x0249)
(#\x024A #\x024B)
(#\x024C #\x024D)
(#\x024E #\x024F)
(#\x0345 #\x03B9)
(#\x0386 #\x03AC)
(#\x0388 #\x03AD)
(#\x0389 #\x03AE)
(#\x038A #\x03AF)
(#\x038C #\x03CC)
(#\x038E #\x03CD)
(#\x038F #\x03CE)
(#\x0390 #\x03B9 #\x0308 #\x0301)
(#\x0391 #\x03B1)
(#\x0392 #\x03B2)
(#\x0393 #\x03B3)
(#\x0394 #\x03B4)
(#\x0395 #\x03B5)
(#\x0396 #\x03B6)
(#\x0397 #\x03B7)
(#\x0398 #\x03B8)
(#\x0399 #\x03B9)
(#\x039A #\x03BA)
(#\x039B #\x03BB)
(#\x039C #\x03BC)
(#\x039D #\x03BD)
(#\x039E #\x03BE)
(#\x039F #\x03BF)
(#\x03A0 #\x03C0)
(#\x03A1 #\x03C1)
(#\x03A3 #\x03C3)
(#\x03A4 #\x03C4)
(#\x03A5 #\x03C5)
(#\x03A6 #\x03C6)
(#\x03A7 #\x03C7)
(#\x03A8 #\x03C8)
(#\x03A9 #\x03C9)
(#\x03AA #\x03CA)
(#\x03AB #\x03CB)
(#\x03B0 #\x03C5 #\x0308 #\x0301)
(#\x03C2 #\x03C3)
(#\x03D0 #\x03B2)
(#\x03D1 #\x03B8)
(#\x03D5 #\x03C6)
(#\x03D6 #\x03C0)
(#\x03D8 #\x03D9)
(#\x03DA #\x03DB)
(#\x03DC #\x03DD)
(#\x03DE #\x03DF)
(#\x03E0 #\x03E1)
(#\x03E2 #\x03E3)
(#\x03E4 #\x03E5)
(#\x03E6 #\x03E7)
(#\x03E8 #\x03E9)
(#\x03EA #\x03EB)
(#\x03EC #\x03ED)
(#\x03EE #\x03EF)
(#\x03F0 #\x03BA)
(#\x03F1 #\x03C1)
(#\x03F4 #\x03B8)
(#\x03F5 #\x03B5)
(#\x03F7 #\x03F8)
(#\x03F9 #\x03F2)
(#\x03FA #\x03FB)
(#\x03FD #\x037B)
(#\x03FE #\x037C)
(#\x03FF #\x037D)
(#\x0400 #\x0450)
(#\x0401 #\x0451)
(#\x0402 #\x0452)
(#\x0403 #\x0453)
(#\x0404 #\x0454)
(#\x0405 #\x0455)
(#\x0406 #\x0456)
(#\x0407 #\x0457)
(#\x0408 #\x0458)
(#\x0409 #\x0459)
(#\x040A #\x045A)
(#\x040B #\x045B)
(#\x040C #\x045C)
(#\x040D #\x045D)
(#\x040E #\x045E)
(#\x040F #\x045F)
(#\x0410 #\x0430)
(#\x0411 #\x0431)
(#\x0412 #\x0432)
(#\x0413 #\x0433)
(#\x0414 #\x0434)
(#\x0415 #\x0435)
(#\x0416 #\x0436)
(#\x0417 #\x0437)
(#\x0418 #\x0438)
(#\x0419 #\x0439)
(#\x041A #\x043A)
(#\x041B #\x043B)
(#\x041C #\x043C)
(#\x041D #\x043D)
(#\x041E #\x043E)
(#\x041F #\x043F)
(#\x0420 #\x0440)
(#\x0421 #\x0441)
(#\x0422 #\x0442)
(#\x0423 #\x0443)
(#\x0424 #\x0444)
(#\x0425 #\x0445)
(#\x0426 #\x0446)
(#\x0427 #\x0447)
(#\x0428 #\x0448)
(#\x0429 #\x0449)
(#\x042A #\x044A)
(#\x042B #\x044B)
(#\x042C #\x044C)
(#\x042D #\x044D)
(#\x042E #\x044E)
(#\x042F #\x044F)
(#\x0460 #\x0461)
(#\x0462 #\x0463)
(#\x0464 #\x0465)
(#\x0466 #\x0467)
(#\x0468 #\x0469)
(#\x046A #\x046B)
(#\x046C #\x046D)
(#\x046E #\x046F)
(#\x0470 #\x0471)
(#\x0472 #\x0473)
(#\x0474 #\x0475)
(#\x0476 #\x0477)
(#\x0478 #\x0479)
(#\x047A #\x047B)
(#\x047C #\x047D)
(#\x047E #\x047F)
(#\x0480 #\x0481)
(#\x048A #\x048B)
(#\x048C #\x048D)
(#\x048E #\x048F)
(#\x0490 #\x0491)
(#\x0492 #\x0493)
(#\x0494 #\x0495)
(#\x0496 #\x0497)
(#\x0498 #\x0499)
(#\x049A #\x049B)
(#\x049C #\x049D)
(#\x049E #\x049F)
(#\x04A0 #\x04A1)
(#\x04A2 #\x04A3)
(#\x04A4 #\x04A5)
(#\x04A6 #\x04A7)
(#\x04A8 #\x04A9)
(#\x04AA #\x04AB)
(#\x04AC #\x04AD)
(#\x04AE #\x04AF)
(#\x04B0 #\x04B1)
(#\x04B2 #\x04B3)
(#\x04B4 #\x04B5)
(#\x04B6 #\x04B7)
(#\x04B8 #\x04B9)
(#\x04BA #\x04BB)
(#\x04BC #\x04BD)
(#\x04BE #\x04BF)
(#\x04C0 #\x04CF)
(#\x04C1 #\x04C2)
(#\x04C3 #\x04C4)
(#\x04C5 #\x04C6)
(#\x04C7 #\x04C8)
(#\x04C9 #\x04CA)
(#\x04CB #\x04CC)
(#\x04CD #\x04CE)
(#\x04D0 #\x04D1)
(#\x04D2 #\x04D3)
(#\x04D4 #\x04D5)
(#\x04D6 #\x04D7)
(#\x04D8 #\x04D9)
(#\x04DA #\x04DB)
(#\x04DC #\x04DD)
(#\x04DE #\x04DF)
(#\x04E0 #\x04E1)
(#\x04E2 #\x04E3)
(#\x04E4 #\x04E5)
(#\x04E6 #\x04E7)
(#\x04E8 #\x04E9)
(#\x04EA #\x04EB)
(#\x04EC #\x04ED)
(#\x04EE #\x04EF)
(#\x04F0 #\x04F1)
(#\x04F2 #\x04F3)
(#\x04F4 #\x04F5)
(#\x04F6 #\x04F7)
(#\x04F8 #\x04F9)
(#\x04FA #\x04FB)
(#\x04FC #\x04FD)
(#\x04FE #\x04FF)
(#\x0500 #\x0501)
(#\x0502 #\x0503)
(#\x0504 #\x0505)
(#\x0506 #\x0507)
(#\x0508 #\x0509)
(#\x050A #\x050B)
(#\x050C #\x050D)
(#\x050E #\x050F)
(#\x0510 #\x0511)
(#\x0512 #\x0513)
(#\x0531 #\x0561)
(#\x0532 #\x0562)
(#\x0533 #\x0563)
(#\x0534 #\x0564)
(#\x0535 #\x0565)
(#\x0536 #\x0566)
(#\x0537 #\x0567)
(#\x0538 #\x0568)
(#\x0539 #\x0569)
(#\x053A #\x056A)
(#\x053B #\x056B)
(#\x053C #\x056C)
(#\x053D #\x056D)
(#\x053E #\x056E)
(#\x053F #\x056F)
(#\x0540 #\x0570)
(#\x0541 #\x0571)
(#\x0542 #\x0572)
(#\x0543 #\x0573)
(#\x0544 #\x0574)
(#\x0545 #\x0575)
(#\x0546 #\x0576)
(#\x0547 #\x0577)
(#\x0548 #\x0578)
(#\x0549 #\x0579)
(#\x054A #\x057A)
(#\x054B #\x057B)
(#\x054C #\x057C)
(#\x054D #\x057D)
(#\x054E #\x057E)
(#\x054F #\x057F)
(#\x0550 #\x0580)
(#\x0551 #\x0581)
(#\x0552 #\x0582)
(#\x0553 #\x0583)
(#\x0554 #\x0584)
(#\x0555 #\x0585)
(#\x0556 #\x0586)
(#\x0587 #\x0565 #\x0582)
(#\x10A0 #\x2D00)
(#\x10A1 #\x2D01)
(#\x10A2 #\x2D02)
(#\x10A3 #\x2D03)
(#\x10A4 #\x2D04)
(#\x10A5 #\x2D05)
(#\x10A6 #\x2D06)
(#\x10A7 #\x2D07)
(#\x10A8 #\x2D08)
(#\x10A9 #\x2D09)
(#\x10AA #\x2D0A)
(#\x10AB #\x2D0B)
(#\x10AC #\x2D0C)
(#\x10AD #\x2D0D)
(#\x10AE #\x2D0E)
(#\x10AF #\x2D0F)
(#\x10B0 #\x2D10)
(#\x10B1 #\x2D11)
(#\x10B2 #\x2D12)
(#\x10B3 #\x2D13)
(#\x10B4 #\x2D14)
(#\x10B5 #\x2D15)
(#\x10B6 #\x2D16)
(#\x10B7 #\x2D17)
(#\x10B8 #\x2D18)
(#\x10B9 #\x2D19)
(#\x10BA #\x2D1A)
(#\x10BB #\x2D1B)
(#\x10BC #\x2D1C)
(#\x10BD #\x2D1D)
(#\x10BE #\x2D1E)
(#\x10BF #\x2D1F)
(#\x10C0 #\x2D20)
(#\x10C1 #\x2D21)
(#\x10C2 #\x2D22)
(#\x10C3 #\x2D23)
(#\x10C4 #\x2D24)
(#\x10C5 #\x2D25)
(#\x1E00 #\x1E01)
(#\x1E02 #\x1E03)
(#\x1E04 #\x1E05)
(#\x1E06 #\x1E07)
(#\x1E08 #\x1E09)
(#\x1E0A #\x1E0B)
(#\x1E0C #\x1E0D)
(#\x1E0E #\x1E0F)
(#\x1E10 #\x1E11)
(#\x1E12 #\x1E13)
(#\x1E14 #\x1E15)
(#\x1E16 #\x1E17)
(#\x1E18 #\x1E19)
(#\x1E1A #\x1E1B)
(#\x1E1C #\x1E1D)
(#\x1E1E #\x1E1F)
(#\x1E20 #\x1E21)
(#\x1E22 #\x1E23)
(#\x1E24 #\x1E25)
(#\x1E26 #\x1E27)
(#\x1E28 #\x1E29)
(#\x1E2A #\x1E2B)
(#\x1E2C #\x1E2D)
(#\x1E2E #\x1E2F)
(#\x1E30 #\x1E31)
(#\x1E32 #\x1E33)
(#\x1E34 #\x1E35)
(#\x1E36 #\x1E37)
(#\x1E38 #\x1E39)
(#\x1E3A #\x1E3B)
(#\x1E3C #\x1E3D)
(#\x1E3E #\x1E3F)
(#\x1E40 #\x1E41)
(#\x1E42 #\x1E43)
(#\x1E44 #\x1E45)
(#\x1E46 #\x1E47)
(#\x1E48 #\x1E49)
(#\x1E4A #\x1E4B)
(#\x1E4C #\x1E4D)
(#\x1E4E #\x1E4F)
(#\x1E50 #\x1E51)
(#\x1E52 #\x1E53)
(#\x1E54 #\x1E55)
(#\x1E56 #\x1E57)
(#\x1E58 #\x1E59)
(#\x1E5A #\x1E5B)
(#\x1E5C #\x1E5D)
(#\x1E5E #\x1E5F)
(#\x1E60 #\x1E61)
(#\x1E62 #\x1E63)
(#\x1E64 #\x1E65)
(#\x1E66 #\x1E67)
(#\x1E68 #\x1E69)
(#\x1E6A #\x1E6B)
(#\x1E6C #\x1E6D)
(#\x1E6E #\x1E6F)
(#\x1E70 #\x1E71)
(#\x1E72 #\x1E73)
(#\x1E74 #\x1E75)
(#\x1E76 #\x1E77)
(#\x1E78 #\x1E79)
(#\x1E7A #\x1E7B)
(#\x1E7C #\x1E7D)
(#\x1E7E #\x1E7F)
(#\x1E80 #\x1E81)
(#\x1E82 #\x1E83)
(#\x1E84 #\x1E85)
(#\x1E86 #\x1E87)
(#\x1E88 #\x1E89)
(#\x1E8A #\x1E8B)
(#\x1E8C #\x1E8D)
(#\x1E8E #\x1E8F)
(#\x1E90 #\x1E91)
(#\x1E92 #\x1E93)
(#\x1E94 #\x1E95)
(#\x1E96 #\x0068 #\x0331)
(#\x1E97 #\x0074 #\x0308)
(#\x1E98 #\x0077 #\x030A)
(#\x1E99 #\x0079 #\x030A)
(#\x1E9A #\x0061 #\x02BE)
(#\x1E9B #\x1E61)
(#\x1EA0 #\x1EA1)
(#\x1EA2 #\x1EA3)
(#\x1EA4 #\x1EA5)
(#\x1EA6 #\x1EA7)
(#\x1EA8 #\x1EA9)
(#\x1EAA #\x1EAB)
(#\x1EAC #\x1EAD)
(#\x1EAE #\x1EAF)
(#\x1EB0 #\x1EB1)
(#\x1EB2 #\x1EB3)
(#\x1EB4 #\x1EB5)
(#\x1EB6 #\x1EB7)
(#\x1EB8 #\x1EB9)
(#\x1EBA #\x1EBB)
(#\x1EBC #\x1EBD)
(#\x1EBE #\x1EBF)
(#\x1EC0 #\x1EC1)
(#\x1EC2 #\x1EC3)
(#\x1EC4 #\x1EC5)
(#\x1EC6 #\x1EC7)
(#\x1EC8 #\x1EC9)
(#\x1ECA #\x1ECB)
(#\x1ECC #\x1ECD)
(#\x1ECE #\x1ECF)
(#\x1ED0 #\x1ED1)
(#\x1ED2 #\x1ED3)
(#\x1ED4 #\x1ED5)
(#\x1ED6 #\x1ED7)
(#\x1ED8 #\x1ED9)
(#\x1EDA #\x1EDB)
(#\x1EDC #\x1EDD)
(#\x1EDE #\x1EDF)
(#\x1EE0 #\x1EE1)
(#\x1EE2 #\x1EE3)
(#\x1EE4 #\x1EE5)
(#\x1EE6 #\x1EE7)
(#\x1EE8 #\x1EE9)
(#\x1EEA #\x1EEB)
(#\x1EEC #\x1EED)
(#\x1EEE #\x1EEF)
(#\x1EF0 #\x1EF1)
(#\x1EF2 #\x1EF3)
(#\x1EF4 #\x1EF5)
(#\x1EF6 #\x1EF7)
(#\x1EF8 #\x1EF9)
(#\x1F08 #\x1F00)
(#\x1F09 #\x1F01)
(#\x1F0A #\x1F02)
(#\x1F0B #\x1F03)
(#\x1F0C #\x1F04)
(#\x1F0D #\x1F05)
(#\x1F0E #\x1F06)
(#\x1F0F #\x1F07)
(#\x1F18 #\x1F10)
(#\x1F19 #\x1F11)
(#\x1F1A #\x1F12)
(#\x1F1B #\x1F13)
(#\x1F1C #\x1F14)
(#\x1F1D #\x1F15)
(#\x1F28 #\x1F20)
(#\x1F29 #\x1F21)
(#\x1F2A #\x1F22)
(#\x1F2B #\x1F23)
(#\x1F2C #\x1F24)
(#\x1F2D #\x1F25)
(#\x1F2E #\x1F26)
(#\x1F2F #\x1F27)
(#\x1F38 #\x1F30)
(#\x1F39 #\x1F31)
(#\x1F3A #\x1F32)
(#\x1F3B #\x1F33)
(#\x1F3C #\x1F34)
(#\x1F3D #\x1F35)
(#\x1F3E #\x1F36)
(#\x1F3F #\x1F37)
(#\x1F48 #\x1F40)
(#\x1F49 #\x1F41)
(#\x1F4A #\x1F42)
(#\x1F4B #\x1F43)
(#\x1F4C #\x1F44)
(#\x1F4D #\x1F45)
(#\x1F50 #\x03C5 #\x0313)
(#\x1F52 #\x03C5 #\x0313 #\x0300)
(#\x1F54 #\x03C5 #\x0313 #\x0301)
(#\x1F56 #\x03C5 #\x0313 #\x0342)
(#\x1F59 #\x1F51)
(#\x1F5B #\x1F53)
(#\x1F5D #\x1F55)
(#\x1F5F #\x1F57)
(#\x1F68 #\x1F60)
(#\x1F69 #\x1F61)
(#\x1F6A #\x1F62)
(#\x1F6B #\x1F63)
(#\x1F6C #\x1F64)
(#\x1F6D #\x1F65)
(#\x1F6E #\x1F66)
(#\x1F6F #\x1F67)
(#\x1F80 #\x1F00 #\x03B9)
(#\x1F81 #\x1F01 #\x03B9)
(#\x1F82 #\x1F02 #\x03B9)
(#\x1F83 #\x1F03 #\x03B9)
(#\x1F84 #\x1F04 #\x03B9)
(#\x1F85 #\x1F05 #\x03B9)
(#\x1F86 #\x1F06 #\x03B9)
(#\x1F87 #\x1F07 #\x03B9)
(#\x1F88 #\x1F00 #\x03B9)
(#\x1F89 #\x1F01 #\x03B9)
(#\x1F8A #\x1F02 #\x03B9)
(#\x1F8B #\x1F03 #\x03B9)
(#\x1F8C #\x1F04 #\x03B9)
(#\x1F8D #\x1F05 #\x03B9)
(#\x1F8E #\x1F06 #\x03B9)
(#\x1F8F #\x1F07 #\x03B9)
(#\x1F90 #\x1F20 #\x03B9)
(#\x1F91 #\x1F21 #\x03B9)
(#\x1F92 #\x1F22 #\x03B9)
(#\x1F93 #\x1F23 #\x03B9)
(#\x1F94 #\x1F24 #\x03B9)
(#\x1F95 #\x1F25 #\x03B9)
(#\x1F96 #\x1F26 #\x03B9)
(#\x1F97 #\x1F27 #\x03B9)
(#\x1F98 #\x1F20 #\x03B9)
(#\x1F99 #\x1F21 #\x03B9)
(#\x1F9A #\x1F22 #\x03B9)
(#\x1F9B #\x1F23 #\x03B9)
(#\x1F9C #\x1F24 #\x03B9)
(#\x1F9D #\x1F25 #\x03B9)
(#\x1F9E #\x1F26 #\x03B9)
(#\x1F9F #\x1F27 #\x03B9)
(#\x1FA0 #\x1F60 #\x03B9)
(#\x1FA1 #\x1F61 #\x03B9)
(#\x1FA2 #\x1F62 #\x03B9)
(#\x1FA3 #\x1F63 #\x03B9)
(#\x1FA4 #\x1F64 #\x03B9)
(#\x1FA5 #\x1F65 #\x03B9)
(#\x1FA6 #\x1F66 #\x03B9)
(#\x1FA7 #\x1F67 #\x03B9)
(#\x1FA8 #\x1F60 #\x03B9)
(#\x1FA9 #\x1F61 #\x03B9)
(#\x1FAA #\x1F62 #\x03B9)
(#\x1FAB #\x1F63 #\x03B9)
(#\x1FAC #\x1F64 #\x03B9)
(#\x1FAD #\x1F65 #\x03B9)
(#\x1FAE #\x1F66 #\x03B9)
(#\x1FAF #\x1F67 #\x03B9)
(#\x1FB2 #\x1F70 #\x03B9)
(#\x1FB3 #\x03B1 #\x03B9)
(#\x1FB4 #\x03AC #\x03B9)
(#\x1FB6 #\x03B1 #\x0342)
(#\x1FB7 #\x03B1 #\x0342 #\x03B9)
(#\x1FB8 #\x1FB0)
(#\x1FB9 #\x1FB1)
(#\x1FBA #\x1F70)
(#\x1FBB #\x1F71)
(#\x1FBC #\x03B1 #\x03B9)
(#\x1FBE #\x03B9)
(#\x1FC2 #\x1F74 #\x03B9)
(#\x1FC3 #\x03B7 #\x03B9)
(#\x1FC4 #\x03AE #\x03B9)
(#\x1FC6 #\x03B7 #\x0342)
(#\x1FC7 #\x03B7 #\x0342 #\x03B9)
(#\x1FC8 #\x1F72)
(#\x1FC9 #\x1F73)
(#\x1FCA #\x1F74)
(#\x1FCB #\x1F75)
(#\x1FCC #\x03B7 #\x03B9)
(#\x1FD2 #\x03B9 #\x0308 #\x0300)
(#\x1FD3 #\x03B9 #\x0308 #\x0301)
(#\x1FD6 #\x03B9 #\x0342)
(#\x1FD7 #\x03B9 #\x0308 #\x0342)
(#\x1FD8 #\x1FD0)
(#\x1FD9 #\x1FD1)
(#\x1FDA #\x1F76)
(#\x1FDB #\x1F77)
(#\x1FE2 #\x03C5 #\x0308 #\x0300)
(#\x1FE3 #\x03C5 #\x0308 #\x0301)
(#\x1FE4 #\x03C1 #\x0313)
(#\x1FE6 #\x03C5 #\x0342)
(#\x1FE7 #\x03C5 #\x0308 #\x0342)
(#\x1FE8 #\x1FE0)
(#\x1FE9 #\x1FE1)
(#\x1FEA #\x1F7A)
(#\x1FEB #\x1F7B)
(#\x1FEC #\x1FE5)
(#\x1FF2 #\x1F7C #\x03B9)
(#\x1FF3 #\x03C9 #\x03B9)
(#\x1FF4 #\x03CE #\x03B9)
(#\x1FF6 #\x03C9 #\x0342)
(#\x1FF7 #\x03C9 #\x0342 #\x03B9)
(#\x1FF8 #\x1F78)
(#\x1FF9 #\x1F79)
(#\x1FFA #\x1F7C)
(#\x1FFB #\x1F7D)
(#\x1FFC #\x03C9 #\x03B9)
(#\x2126 #\x03C9)
(#\x212A #\x006B)
(#\x212B #\x00E5)
(#\x2132 #\x214E)
(#\x2160 #\x2170)
(#\x2161 #\x2171)
(#\x2162 #\x2172)
(#\x2163 #\x2173)
(#\x2164 #\x2174)
(#\x2165 #\x2175)
(#\x2166 #\x2176)
(#\x2167 #\x2177)
(#\x2168 #\x2178)
(#\x2169 #\x2179)
(#\x216A #\x217A)
(#\x216B #\x217B)
(#\x216C #\x217C)
(#\x216D #\x217D)
(#\x216E #\x217E)
(#\x216F #\x217F)
(#\x2183 #\x2184)
(#\x24B6 #\x24D0)
(#\x24B7 #\x24D1)
(#\x24B8 #\x24D2)
(#\x24B9 #\x24D3)
(#\x24BA #\x24D4)
(#\x24BB #\x24D5)
(#\x24BC #\x24D6)
(#\x24BD #\x24D7)
(#\x24BE #\x24D8)
(#\x24BF #\x24D9)
(#\x24C0 #\x24DA)
(#\x24C1 #\x24DB)
(#\x24C2 #\x24DC)
(#\x24C3 #\x24DD)
(#\x24C4 #\x24DE)
(#\x24C5 #\x24DF)
(#\x24C6 #\x24E0)
(#\x24C7 #\x24E1)
(#\x24C8 #\x24E2)
(#\x24C9 #\x24E3)
(#\x24CA #\x24E4)
(#\x24CB #\x24E5)
(#\x24CC #\x24E6)
(#\x24CD #\x24E7)
(#\x24CE #\x24E8)
(#\x24CF #\x24E9)
(#\x2C00 #\x2C30)
(#\x2C01 #\x2C31)
(#\x2C02 #\x2C32)
(#\x2C03 #\x2C33)
(#\x2C04 #\x2C34)
(#\x2C05 #\x2C35)
(#\x2C06 #\x2C36)
(#\x2C07 #\x2C37)
(#\x2C08 #\x2C38)
(#\x2C09 #\x2C39)
(#\x2C0A #\x2C3A)
(#\x2C0B #\x2C3B)
(#\x2C0C #\x2C3C)
(#\x2C0D #\x2C3D)
(#\x2C0E #\x2C3E)
(#\x2C0F #\x2C3F)
(#\x2C10 #\x2C40)
(#\x2C11 #\x2C41)
(#\x2C12 #\x2C42)
(#\x2C13 #\x2C43)
(#\x2C14 #\x2C44)
(#\x2C15 #\x2C45)
(#\x2C16 #\x2C46)
(#\x2C17 #\x2C47)
(#\x2C18 #\x2C48)
(#\x2C19 #\x2C49)
(#\x2C1A #\x2C4A)
(#\x2C1B #\x2C4B)
(#\x2C1C #\x2C4C)
(#\x2C1D #\x2C4D)
(#\x2C1E #\x2C4E)
(#\x2C1F #\x2C4F)
(#\x2C20 #\x2C50)
(#\x2C21 #\x2C51)
(#\x2C22 #\x2C52)
(#\x2C23 #\x2C53)
(#\x2C24 #\x2C54)
(#\x2C25 #\x2C55)
(#\x2C26 #\x2C56)
(#\x2C27 #\x2C57)
(#\x2C28 #\x2C58)
(#\x2C29 #\x2C59)
(#\x2C2A #\x2C5A)
(#\x2C2B #\x2C5B)
(#\x2C2C #\x2C5C)
(#\x2C2D #\x2C5D)
(#\x2C2E #\x2C5E)
(#\x2C60 #\x2C61)
(#\x2C62 #\x026B)
(#\x2C63 #\x1D7D)
(#\x2C64 #\x027D)
(#\x2C67 #\x2C68)
(#\x2C69 #\x2C6A)
(#\x2C6B #\x2C6C)
(#\x2C75 #\x2C76)
(#\x2C80 #\x2C81)
(#\x2C82 #\x2C83)
(#\x2C84 #\x2C85)
(#\x2C86 #\x2C87)
(#\x2C88 #\x2C89)
(#\x2C8A #\x2C8B)
(#\x2C8C #\x2C8D)
(#\x2C8E #\x2C8F)
(#\x2C90 #\x2C91)
(#\x2C92 #\x2C93)
(#\x2C94 #\x2C95)
(#\x2C96 #\x2C97)
(#\x2C98 #\x2C99)
(#\x2C9A #\x2C9B)
(#\x2C9C #\x2C9D)
(#\x2C9E #\x2C9F)
(#\x2CA0 #\x2CA1)
(#\x2CA2 #\x2CA3)
(#\x2CA4 #\x2CA5)
(#\x2CA6 #\x2CA7)
(#\x2CA8 #\x2CA9)
(#\x2CAA #\x2CAB)
(#\x2CAC #\x2CAD)
(#\x2CAE #\x2CAF)
(#\x2CB0 #\x2CB1)
(#\x2CB2 #\x2CB3)
(#\x2CB4 #\x2CB5)
(#\x2CB6 #\x2CB7)
(#\x2CB8 #\x2CB9)
(#\x2CBA #\x2CBB)
(#\x2CBC #\x2CBD)
(#\x2CBE #\x2CBF)
(#\x2CC0 #\x2CC1)
(#\x2CC2 #\x2CC3)
(#\x2CC4 #\x2CC5)
(#\x2CC6 #\x2CC7)
(#\x2CC8 #\x2CC9)
(#\x2CCA #\x2CCB)
(#\x2CCC #\x2CCD)
(#\x2CCE #\x2CCF)
(#\x2CD0 #\x2CD1)
(#\x2CD2 #\x2CD3)
(#\x2CD4 #\x2CD5)
(#\x2CD6 #\x2CD7)
(#\x2CD8 #\x2CD9)
(#\x2CDA #\x2CDB)
(#\x2CDC #\x2CDD)
(#\x2CDE #\x2CDF)
(#\x2CE0 #\x2CE1)
(#\x2CE2 #\x2CE3)
(#\xFB00 #\x0066 #\x0066)
(#\xFB01 #\x0066 #\x0069)
(#\xFB02 #\x0066 #\x006C)
(#\xFB03 #\x0066 #\x0066 #\x0069)
(#\xFB04 #\x0066 #\x0066 #\x006C)
(#\xFB05 #\x0073 #\x0074)
(#\xFB06 #\x0073 #\x0074)
(#\xFB13 #\x0574 #\x0576)
(#\xFB14 #\x0574 #\x0565)
(#\xFB15 #\x0574 #\x056B)
(#\xFB16 #\x057E #\x0576)
(#\xFB17 #\x0574 #\x056D)
(#\xFF21 #\xFF41)
(#\xFF22 #\xFF42)
(#\xFF23 #\xFF43)
(#\xFF24 #\xFF44)
(#\xFF25 #\xFF45)
(#\xFF26 #\xFF46)
(#\xFF27 #\xFF47)
(#\xFF28 #\xFF48)
(#\xFF29 #\xFF49)
(#\xFF2A #\xFF4A)
(#\xFF2B #\xFF4B)
(#\xFF2C #\xFF4C)
(#\xFF2D #\xFF4D)
(#\xFF2E #\xFF4E)
(#\xFF2F #\xFF4F)
(#\xFF30 #\xFF50)
(#\xFF31 #\xFF51)
(#\xFF32 #\xFF52)
(#\xFF33 #\xFF53)
(#\xFF34 #\xFF54)
(#\xFF35 #\xFF55)
(#\xFF36 #\xFF56)
(#\xFF37 #\xFF57)
(#\xFF38 #\xFF58)
(#\xFF39 #\xFF59)
(#\xFF3A #\xFF5A)
(#\x10400 #\x10428)
(#\x10401 #\x10429)
(#\x10402 #\x1042A)
(#\x10403 #\x1042B)
(#\x10404 #\x1042C)
(#\x10405 #\x1042D)
(#\x10406 #\x1042E)
(#\x10407 #\x1042F)
(#\x10408 #\x10430)
(#\x10409 #\x10431)
(#\x1040A #\x10432)
(#\x1040B #\x10433)
(#\x1040C #\x10434)
(#\x1040D #\x10435)
(#\x1040E #\x10436)
(#\x1040F #\x10437)
(#\x10410 #\x10438)
(#\x10411 #\x10439)
(#\x10412 #\x1043A)
(#\x10413 #\x1043B)
(#\x10414 #\x1043C)
(#\x10415 #\x1043D)
(#\x10416 #\x1043E)
(#\x10417 #\x1043F)
(#\x10418 #\x10440)
(#\x10419 #\x10441)
(#\x1041A #\x10442)
(#\x1041B #\x10443)
(#\x1041C #\x10444)
(#\x1041D #\x10445)
(#\x1041E #\x10446)
(#\x1041F #\x10447)
(#\x10420 #\x10448)
(#\x10421 #\x10449)
(#\x10422 #\x1044A)
(#\x10423 #\x1044B)
(#\x10424 #\x1044C)
(#\x10425 #\x1044D)
(#\x10426 #\x1044E)
(#\x10427 #\x1044F)))
(define (test-strings fr to)
(printf "test case-fold ~s ~s\n" fr to)
(assert (string=? (string-foldcase fr) to))
(assert (string-ci=? fr to))
(assert (string=? (string-foldcase to) to)))
(define (test-char-by-char)
(for-each
(lambda (x)
(test-strings (string (car x)) (list->string (cdr x))))
case-fold-mapping))
(define (run-tests)
(test-char-by-char)
(test-strings
(list->string (map car case-fold-mapping))
(list->string (apply append (map cdr case-fold-mapping))))))