diff options
Diffstat (limited to 'tests/src/CoreMangLib/cti/system/globalization/compareinfo/compareinfocompare2.cs')
-rw-r--r-- | tests/src/CoreMangLib/cti/system/globalization/compareinfo/compareinfocompare2.cs | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/tests/src/CoreMangLib/cti/system/globalization/compareinfo/compareinfocompare2.cs b/tests/src/CoreMangLib/cti/system/globalization/compareinfo/compareinfocompare2.cs deleted file mode 100644 index f8c05e97b8..0000000000 --- a/tests/src/CoreMangLib/cti/system/globalization/compareinfo/compareinfocompare2.cs +++ /dev/null @@ -1,218 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. -using System; -using System.Text; -using System.Globalization; -using TestLibrary; - -public class CompareInfoCompare -{ - public static string[] InterestingStrings = new string[] { null, "", "a", "1", "-", "A", "!", "abc", "aBc", "a\u0400Bc", "I", "i", "\u0130", "\u0131", "A", "\uFF21", "\uFE57"}; - - public bool RunTests() - { - bool retVal = true; - - TestLibrary.TestFramework.LogInformation("[Positive]"); - retVal = PosTest1() && retVal; - retVal = PosTest2() && retVal; - retVal = PosTest3() && retVal; - retVal = PosTest4() && retVal; - return retVal; - } - - - public bool PosTest1() - { - bool retVal = true; - - TestLibrary.TestFramework.BeginScenario("PosTest1: Compare interesting strings ordinally"); - - try - { - foreach (string s in InterestingStrings) - { - foreach (string r in InterestingStrings) - { - retVal &= TestStrings(s, r); - } - } - - } - catch (Exception e) - { - TestLibrary.TestFramework.LogError("001.2", "Unexpected exception: " + e); - retVal = false; - } - return retVal; - } - - public bool PosTest2() - { - bool retVal = true; - - TestLibrary.TestFramework.BeginScenario("PosTest2: Compare many characters"); - - try - { - for (int i = 0; i < 40; i++) // Ok, 40 isn't that many... but this takes way too long - { - char c = Generator.GetChar(-55); - if (Utilities.CurrentCulture.CompareInfo.Compare(new string(new char[] { c }), new string(new char[] { c }), CompareOptions.Ordinal) != 0) - { - TestLibrary.TestFramework.LogError("002.1", "Character " + i.ToString() + " is not equal to itself ordinally!"); - retVal = false; - } - - for (int j = 0; j < (int)c; j++) - { - int compareResult = Utilities.CurrentCulture.CompareInfo.Compare(new string(new char[] { c }), new string(new char[] { (char)j }), CompareOptions.Ordinal); - if (compareResult != 0) compareResult = compareResult / Math.Abs(compareResult); - if (compareResult != 1) - { - TestLibrary.TestFramework.LogError("002.2", "Character " + ((int)c).ToString() + " is not greater than character " + j.ToString() + ", Compare result: " + compareResult.ToString()); - retVal = false; - } - } - } - } - catch (Exception e) - { - TestLibrary.TestFramework.LogError("002.4", "Unexpected exception: " + e); - retVal = false; - } - return retVal; - } - - public bool PosTest3() - { - bool retVal = true; - - TestLibrary.TestFramework.BeginScenario("PosTest3: Compare many strings"); - - try - { - for (int i = 0; i < 1000; i++) - { - string str1 = Generator.GetString(-55, false, 5, 20); - string str2 = Generator.GetString(-55, false, 5, 20); - if (Utilities.CurrentCulture.CompareInfo.Compare(str1, str1, CompareOptions.Ordinal) != 0) - { - TestLibrary.TestFramework.LogError("003.1", "Comparison not as expected! Acutal result: " + Utilities.CurrentCulture.CompareInfo.Compare(str1, str1, CompareOptions.Ordinal).ToString() + ", Expected result: 0"); - TestLibrary.TestFramework.LogInformation("String 1: <" + str1 + "> : " + BytesFromString(str1) + "\nString 2: <" + str1 + "> : " + BytesFromString(str1)); - retVal = false; - } - if (Utilities.CurrentCulture.CompareInfo.Compare(str2, str2, CompareOptions.Ordinal) != 0) - { - TestLibrary.TestFramework.LogError("003.2", "Comparison not as expected! Acutal result: " + Utilities.CurrentCulture.CompareInfo.Compare(str2, str2, CompareOptions.Ordinal).ToString() + ", Expected result: 0"); - TestLibrary.TestFramework.LogInformation("String 1: <" + str2 + "> : " + BytesFromString(str2) + "\nString 2: <" + str2 + "> : " + BytesFromString(str2)); - retVal = false; - } - TestStrings(str1, str2); - } - } - catch (Exception e) - { - TestLibrary.TestFramework.LogError("003.4", "Unexpected exception: " + e); - retVal = false; - } - return retVal; - } - - public bool PosTest4() - { - bool retVal = true; - - TestLibrary.TestFramework.BeginScenario("PosTest4: Specific regression cases"); - - try - { - CultureInfo oldCi = Utilities.CurrentCulture; - Utilities.CurrentCulture = new CultureInfo("hu-HU"); - retVal &= TestStrings("dzsdzs", "ddzs"); - Utilities.CurrentCulture = oldCi; - - retVal &= TestStrings("\u00C0nimal", "A\u0300nimal"); - - } - catch (Exception e) - { - TestLibrary.TestFramework.LogError("004.2", "Unexpected exception: " + e); - retVal = false; - } - return retVal; - } - - public static int Main() - { - CompareInfoCompare test = new CompareInfoCompare(); - - TestLibrary.TestFramework.BeginTestCase("CompareInfoCompare"); - - if (test.RunTests()) - { - TestLibrary.TestFramework.EndTestCase(); - TestLibrary.TestFramework.LogInformation("PASS"); - return 100; - } - else - { - TestLibrary.TestFramework.EndTestCase(); - TestLibrary.TestFramework.LogInformation("FAIL"); - return 0; - } - } - - private bool TestStrings(string str1, string str2) - { - bool retVal = true; - - int expectValue = PredictValue(str1, str2); - int actualValue = Utilities.CurrentCulture.CompareInfo.Compare(str1, str2, CompareOptions.Ordinal); - if (expectValue != 0) expectValue = expectValue / Math.Abs(expectValue); - if (actualValue != 0) actualValue = actualValue / Math.Abs(actualValue); - - if (actualValue != expectValue) - { - TestLibrary.TestFramework.LogError("001.1", "Comparison not as expected! Acutal result: " + actualValue + ", Expected result: " + expectValue); - TestLibrary.TestFramework.LogInformation("String 1: <" + str1 + "> : " + BytesFromString(str1) + "\nString 2: <" + str2 + "> : " + BytesFromString(str2)); - retVal = false; - } - - return retVal; - } - - int PredictValue(string str1, string str2) - { - if (str1 == null) - { - if (str2 == null) return 0; - else return -1; - } - if (str2 == null) return 1; - - for (int i = 0; i < str1.Length; i++) - { - if (i >= str2.Length) return 1; - if ((int)str1[i] > (int)str2[i]) return 1; - if ((int)str1[i] < (int)str2[i]) return -1; - } - - if (str2.Length > str1.Length) return -1; - - return 0; - } - - private static string BytesFromString(string str) - { - if (str == null) return string.Empty; - StringBuilder output = new StringBuilder(); - for (int i = 0; i < str.Length; i++) - { - output.Append(Utilities.ByteArrayToString(BitConverter.GetBytes(str[i]))); - if (i != (str.Length - 1)) output.Append(", "); - } - return output.ToString(); - } -} |