2 using System.Globalization;
3 using System.Collections;
6 using Mono.Globalization.Unicode;
8 namespace MonoTests.System
10 public class StringNormalizationTest
12 ArrayList tests = new ArrayList ();
16 public Testcase (string src, string nfc, string nfd, string nfkc, string nfkd, int testType)
35 public static void Main ()
37 new StringNormalizationTest ().Run ();
41 public StringNormalizationTest ()
48 foreach (Testcase tc in tests) {
49 TestString (tc, tc.NFD, NormalizationForm.FormD);
50 TestString (tc, tc.NFKD, NormalizationForm.FormKD);
51 TestString (tc, tc.NFC, NormalizationForm.FormC);
52 TestString (tc, tc.NFKC, NormalizationForm.FormKC);
56 void TestString (Testcase tc, string expected, NormalizationForm f)
58 string input = tc.Source;
62 actual = Normalization.Normalize (input, 0); break;
63 case NormalizationForm.FormD:
64 actual = Normalization.Normalize (input, 1); break;
65 case NormalizationForm.FormKC:
66 actual = Normalization.Normalize (input, 2); break;
67 case NormalizationForm.FormKD:
68 actual = Normalization.Normalize (input, 3); break;
71 if (actual != expected)
72 Console.WriteLine ("Error: expected {0} but was {1} (for {2},type{3} form {4})",
73 expected, actual, tc.Source, tc.TestType, f);
78 @@@@@@ Replace Here @@@@@@