오늘이 문제에 직면하고 문화에 따라이 테스트가 실패하는 이유에 대해 누군가 알고 있는지 궁금합니다. 목표는 테스트 텍스트가 서로 옆에 두 개의 공백을 포함하는지 확인하는 것입니다.이 공백은 string.IndexOf
에 따라 수행됩니다 (문자열이 서로 인접한 두 공백을 모두 바꾸도록 지정하더라도). 몇 가지 테스트를 마치면 \xAD
이 어떻게 든이 문제를 일으키는 것으로 보입니다.string IndexOf and Replace
public class ReplaceIndexOfSymmetryTest
{
[Test]
public void IndexOfShouldNotFindReplacedString()
{
string testText = "\x61\x20\xAD\x20\x62";
const string TWO_SPACES = " ";
const string ONE_SPACE = " ";
string result = testText.Replace(TWO_SPACES, ONE_SPACE);
Assert.IsTrue(result.IndexOf(TWO_SPACES) < 0);
}
}
이 문제가 될지 확실하지 않지만이 테스트에서 서로 공백이 있으면 3 번 끝에 서로 겹치게됩니다. –
시험은 저를 위해 성공합니다. 게시 한 코드가 테스트 한 코드와 동일하다는 것을 확신합니까? –
문제는 'IndexOf'가 문화권 관련 검색을 사용하고'Replace'가 서수 검색을 사용하는 것입니다. @Chris : 요점은 실패해야한다는 것입니다. –