2009-04-25 2 views
1

Использование nUnit для проверки вывода (форматирование валюты) для определенной культуры, но мы получаем следующий результат.Какая разница между этими двумя строками?

Fail: Formatting currency amount 
    String lengths are both 11. Strings differ at index 2. 
    Expected: "12 765,87 €" 
    But was: "12 765,87 €" 
    -------------^ 

Мы не можем видеть разницу между строками. Наш ожидаемый результат использует символ «Космос».

Есть ли другой символ пробела, который мы можем внести в принятый результат, чтобы пройти тест?

Кстати, проверенная культура - fr-FR.

Редактировать: Спасибо Адам, что вы на месте с символом юникода. Мы изменили наши ожидаемые результаты, и теперь проходит каждый тест Unit.

ответ

5

Возможно, это разные типы пространств. Unicode имеет много разных space characters. Взгляните на кодовые точки в индексе 2, поместив символы в целые числа, чтобы получить ответ.

Редактировать

В ответ на ваш комментарий, код точки 160 является non-breaking space. Вы можете enter it directly в исходный код (например, Alt + 0160 на цифровой клавиатуре на Windows), или использовать управляющую последовательность:

// U+20AC is the Unicode code point for the euro sign 
string expected = "12\u00A0765,87 \u20AC"; 
+0

это символ 160, который кажется пространством ... как мы можем включить это в наш «ожидаемый» результат? – 2009-04-25 13:09:45

1

Скорее всего, это символ, который является пустым, но не пространство, чтобы избежать ярлыков и такое, чтобы разорвать число в два, когда включено слово wrapping.

 Смежные вопросы

  • Нет связанных вопросов^_^