Я заметил некоторое нечетное поведение в модульном тесте для C#.Различные результаты от новых DateTime() и DateTime.Parse
Учитывая следующий код:
var dateTime = DateTime.Parse("01/01/2015");
Assert.AreEqual(dateTime, new DateTime(2015, 1, 1));
я неудавшийся тест с результатом:
Expected: 2015-01-01 00:00:00.000
But was: 01/01/2015 00:00:00 +00:00
Я пытался дозвониться ToString()
на оба, переходя в CultureInfo.CurrentCulture
и установке DateKind на новый вызов DateTime для локального и UTC, но я получаю одинаковые результаты.
Почему эти два метода не дают одинаковый результат?
[используя '==' результат, это правда] (http://csharppad.com/gist/ba4918946a41c49b9c4c). должно быть то, что вы не показываете. – Amit
Что такое 'CurrentCulture'? –
Какова ваша структура тестирования, и какова подпись 'Assert.AreEqual' - она принимает' Object', 'DateTime',' String' или что-то еще? –