private void getFunctionalEquivalentTestCases(String path, Assembly cl, String resName, String keyword, bool truncate, String[] testCases) { //String F_STR = "f"; String T_STR = "t"; bool[] isAvail = new bool[1]; Logln("Testing functional equivalents..."); for (int i = 0; i < testCases.Length; i += 3) { bool expectAvail = T_STR.Equals(testCases[i + 0]); ULocale inLocale = new ULocale(testCases[i + 1]); ULocale expectLocale = new ULocale(testCases[i + 2]); Logln(((int)(i / 3)).ToString(CultureInfo.InvariantCulture) + ": " + expectAvail.ToString() + "\t\t" + inLocale.ToString() + "\t\t" + expectLocale.ToString()); ULocale equivLocale = ICUResourceBundle.GetFunctionalEquivalent(path, cl, resName, keyword, inLocale, isAvail, truncate); bool gotAvail = isAvail[0]; if ((gotAvail != expectAvail) || !equivLocale.Equals(expectLocale)) { Errln(((int)(i / 3)).ToString(CultureInfo.InvariantCulture) + ": Error, expected Equiv=" + expectAvail.ToString() + "\t\t" + inLocale.ToString() + "\t\t--> " + expectLocale.ToString() + ", but got " + gotAvail.ToString() + " " + equivLocale.ToString()); } } }