我使用NUnit v2.5來比較包含複合Unicode字符的字符串。
雖然比較本身工作正常,但表明第一個區別的插入符號似乎錯位。NUnit - 如何比較包含複合Unicode字符的字符串?
UPD:我已經結束了與重寫EqualConstraint
,反過來調用自定義TextMessageWriter
,所以我不再需要一個答案。請參閱以下解決方案。
這裏的片段:
string s1 = "ใช้งานง่าย";
string s2 = "ใช้งานงาย";
Assert.That(s1, Is.EqualTo(s2));
這裏的輸出:
Expected: "ใช้งานงาย"
But was: "ใช้งานง่าย"
------------------^
指示第一不同的字符中的箭頭似乎是關閉2個位置(多達有音以上標記)。對於更長的琴絃,它變成了一個真正的痛苦。我試過String.Normalize()
但它也不管用。
我該如何解決這個問題?感謝您的幫助。請參閱下面的答案。
不幸的是,這不是一種選擇。正確地指向十六進制轉儲中間的箭頭將更難以解釋,與指向原始文本的_misplaced_箭頭相比... – bytebuster 2012-02-28 23:28:24