Skip to content

[Android] System.Tests.StringTests failures for hu-HU and tr-TR cultures #60568

Description

@steveisok

For exact reasons unknown, we're seeing failures in certain StringTests tests when using hu-HU and tr-TR cultures. We should see if the tests can be tweaked for Android or if they should be skipped outright. I suspect it's platform specific.

1.) System.Tests.StringTests.Contains_StringComparison_TurkishI

Assert.True(Source.Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));
Assert.True(Source.AsSpan().Contains("\u0069\u0069", StringComparison.CurrentCultureIgnoreCase));

Exception messages: Assert.True() Failure
Expected: True

2.) System.Tests.StringTests.IndexOf_HungarianDoubleCompression_HungarianCulture

Assert.Equal(PlatformDetection.IsNlsGlobalization ? 0 : -1, source.IndexOf(target));
Assert.Equal(PlatformDetection.IsNlsGlobalization ? 0 : -1, source.IndexOf(target, StringComparison.CurrentCulture));
Assert.Equal(0, source.IndexOf(target, StringComparison.CurrentCultureIgnoreCase));
Assert.Equal(-1, source.IndexOf(target, StringComparison.Ordinal));
Assert.Equal(-1, source.IndexOf(target, StringComparison.OrdinalIgnoreCase));
ReadOnlySpan<char> span = source.AsSpan();
Assert.Equal(PlatformDetection.IsNlsGlobalization ? 0 : -1, span.IndexOf(target.AsSpan(), StringComparison.CurrentCulture));
Assert.Equal(0, span.IndexOf(target.AsSpan(), StringComparison.CurrentCultureIgnoreCase));
Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.Ordinal));
Assert.Equal(-1, span.IndexOf(target.AsSpan(), StringComparison.OrdinalIgnoreCase));

Exception messages: Assert.Equal() Failure
    Expected: 0
    Actual: -1

3.) System.Tests.StringTests.ToUpper_TurkishI_TurkishCulture

Assert.True(s.ToUpper().Equals(expected, StringComparison.Ordinal), "Actual: " + s.ToUpper());

Exception messages: Actual: I
    Expected: True
    Actual:   False

4.) System.Tests.StringTests.Replace_StringComparison_TurkishI

Assert.True("\u0069".Equals("\u0130", StringComparison.CurrentCultureIgnoreCase));

Exception messages: Assert.True() Failure
    Expected: True
    Actual:   False

5.) System.Tests.StringTests.IndexOf_TurkishI_TurkishCulture

Assert.Equal(4, s.IndexOf(value, StringComparison.CurrentCultureIgnoreCase));

Assert.Equal() Failure
    Expected: 4
    Actual:   19

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions