Login
Encoding.UTF8
572
NEW 02.10.10 14:18
И снова Я чего-то не понимаю....
Имеем объект типа System.Xml.XmlWriter
У объекта имеется свойство Settings типа System.Xml.XmlWriterSettings
Одна из пропертей - Encoding - типа System.Text.Encoding должна содержать вид кодировки. Ожидается, что будет UTF8
В тестах пишется соответствющий ассерт:
В результате получается:
И, блин, я опять не вижу разницы в буковках...
Или Я использовал не тот метод сравнения... но парой строк выше таким же способом сравнивался Settings.ConformanceLevel...
Имеем объект типа System.Xml.XmlWriter
У объекта имеется свойство Settings типа System.Xml.XmlWriterSettings
Одна из пропертей - Encoding - типа System.Text.Encoding должна содержать вид кодировки. Ожидается, что будет UTF8
В тестах пишется соответствющий ассерт:
В ответ на:
Assert.That(xw.Settings.Encoding, Is.EqualTo(Encoding.UTF8));
Assert.That(xw.Settings.Encoding, Is.EqualTo(Encoding.UTF8));
В результате получается:
В ответ на:
Tests.ItemXmlWriter_Static_Tests.CreateXmlWriterSettings:
Expected: <System.Text.UTF8Encoding>
But was: <System.Text.UTF8Encoding>
Tests.ItemXmlWriter_Static_Tests.CreateXmlWriterSettings:
Expected: <System.Text.UTF8Encoding>
But was: <System.Text.UTF8Encoding>
И, блин, я опять не вижу разницы в буковках...
Или Я использовал не тот метод сравнения... но парой строк выше таким же способом сравнивался Settings.ConformanceLevel...
NEW 04.10.10 16:28
in Antwort Murr 02.10.10 14:18
Я не знаю что это за язык, но похоже что ошибка в самой процедуре сравнения енкодингов.
Девки спорили на даче о свойствах ряда Фибоначчи
NEW 04.10.10 17:16
in Antwort Knusprig 04.10.10 16:28
Я не знаю что это за язык
------
Улыбнуло. И за одно напомнило, что писать надо всЁЁЁЁ...
Потому добавляю:
Среда исполнения - .NET 2.0
Код написан на C#
Утилита тестирования - NUnit, версия для .NET 2.0
Екодинги сравниваются где-то глубоко в недрах толи .NET, толи NUnit.
Какой именно метод выбрала среда тестирования - понятия не имею,
но в качестве теста написано именно то, что рекомендовано в доках...
Почему не сравнилось, тем более что оба операнда одинаковые - не понимаю...
------
Улыбнуло. И за одно напомнило, что писать надо всЁЁЁЁ...
Потому добавляю:
Среда исполнения - .NET 2.0
Код написан на C#
Утилита тестирования - NUnit, версия для .NET 2.0
Екодинги сравниваются где-то глубоко в недрах толи .NET, толи NUnit.
Какой именно метод выбрала среда тестирования - понятия не имею,
но в качестве теста написано именно то, что рекомендовано в доках...
Почему не сравнилось, тем более что оба операнда одинаковые - не понимаю...
04.10.10 17:24
in Antwort Murr 02.10.10 14:18
Я бы продебагила) Чую, что equals не так ставнивает, как ты думаешь:)
NEW 04.10.10 17:43
in Antwort Murr 02.10.10 14:18
Может из-за этого...
В ответ на:
Remarks
Two UTF8Encoding objects are considered equal if all of the following conditions are true:
Both objects use the same byte order.
Both objects provide the byte order mark, or both do not.
Both objects throw an exception when encountering invalid encoding, or both do not.
Remarks
Two UTF8Encoding objects are considered equal if all of the following conditions are true:
Both objects use the same byte order.
Both objects provide the byte order mark, or both do not.
Both objects throw an exception when encountering invalid encoding, or both do not.
NEW 04.10.10 17:56
in Antwort Extern 04.10.10 17:24
Я бы продебагила
-----
Так почти ничто не мешает. Все типы указаны, код - приведен...
Я серьезно - стандартный XmlWriter и проперть Settings и далее Encoding...
Достаточно сложить в кучку - две строки всего...
ну и добавить что-то из того, что мелкомягкие не выкладывают в свободный доступ.
Чую, что equals не так ставнивает
------
Эээ... Is.EqualTo()... это из NUnit... возможно, что он сравнивает не так... но тремя
строками выше сравнивается другая проперть, примерно такого же вида, т.е. enum,
и там все тип-топ...
Так что у меня подозрение на то, что что-то не так в коде мелкомягких...
-----
Так почти ничто не мешает. Все типы указаны, код - приведен...
Я серьезно - стандартный XmlWriter и проперть Settings и далее Encoding...
Достаточно сложить в кучку - две строки всего...
ну и добавить что-то из того, что мелкомягкие не выкладывают в свободный доступ.
Чую, что equals не так ставнивает
------
Эээ... Is.EqualTo()... это из NUnit... возможно, что он сравнивает не так... но тремя
строками выше сравнивается другая проперть, примерно такого же вида, т.е. enum,
и там все тип-топ...
Так что у меня подозрение на то, что что-то не так в коде мелкомягких...
NEW 04.10.10 18:02
in Antwort NightWatch 04.10.10 17:43
Надо смотреть...
Пока выделил проверку в отдельный не готовый тест и занялся другим...
Но оооочччеееенннььь странное поведение для двух однотипных элементов...
Пока выделил проверку в отдельный не готовый тест и занялся другим...
Но оооочччеееенннььь странное поведение для двух однотипных элементов...
NEW 04.10.10 22:13
in Antwort Murr 04.10.10 18:02
Ну что же - загрузился в отладчике, сверил все доступные элементы сравниваемых объектов. Они одинаковые... 
NEW 04.10.10 22:25
in Antwort Murr 04.10.10 22:13
Переписал как:
И пока так и оставлю...
Если кто раскопает в чем проблема - поделитесь, плс...
В ответ на:
XmlWriter xw...
Encoding utf8 = Encoding.UTF8;
Assert.IsTrue(
(utf8.BodyName == xw.Settings.Encoding.BodyName)
&& (utf8.CodePage == xw.Settings.Encoding.CodePage)
&& (utf8.WindowsCodePage == xw.Settings.Encoding.WindowsCodePage)
);
XmlWriter xw...
Encoding utf8 = Encoding.UTF8;
Assert.IsTrue(
(utf8.BodyName == xw.Settings.Encoding.BodyName)
&& (utf8.CodePage == xw.Settings.Encoding.CodePage)
&& (utf8.WindowsCodePage == xw.Settings.Encoding.WindowsCodePage)
);
И пока так и оставлю...
Если кто раскопает в чем проблема - поделитесь, плс...



