MSTest Assert.AreEqual проблемы - PullRequest
       20

MSTest Assert.AreEqual проблемы

0 голосов
/ 22 октября 2011

Таким образом, я генерирую пустое Dictionary<string,string> для сравнения с моим результатом теста, а затем делаю это:

Assert.AreEqual(retval, temp);

И это не удается, даже если они содержат одинаковые точные данные.Я также попытался использовать IsTrue следующим образом: Assert.IsTrue(retval.Equals(temp));, и это тоже не получается, даже если они одинаковые.

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Вы смотрели на

.NET-словари имеют одинаковые ключи и значения, но не равны

Похоже, довольно полный ответ.

0 голосов
/ 22 октября 2011

Вы можете сделать Assert.IsTrue(retval.SequenceEqual(temp)), хотя для этого также потребуется, чтобы порядок элементов в словарях был одинаковым. Я не уверен, хотите ли вы, чтобы ваш критерий равенства был таким строгим.

См. этот вопрос и ответы на него о способах сравнения содержимого словарей независимо от последовательности.

...