我试图弄清楚如何确定两者何时List<FileInfo>
不同。为什么 MSTest 告诉我这两个与CollectionAssert.AreEquivalent
or不同SequenceEqual
?
测试失败:CollectionAssert.AreEquivalent failed. The expected collection contains 1 occurrence(s) of <C:\Windows\Microsoft.NET\Framework\v3.0\WPF\PenIMC.dll>. The actual collection contains 0 occurrence(s).
string basePath = Path.Combine(Environment.GetEnvironmentVariable("windir"),
@"Microsoft.NET\Framework\v3.0\WPF");
var fiList1 = new List<FileInfo> { new FileInfo(Path.Combine(basePath, "PenIMC.dll")) };
var fiList2 = new List<FileInfo> { new FileInfo(Path.Combine(basePath, "PenIMC.dll"))};
CollectionAssert.AreEquivalent(fiList1, fiList2); //why is this failing?
//And this one too...
Assert.IsTrue(fiList1.SequenceEqual(fiList2));
我可以让它与int
类似的简单类型一起使用,但不适用于我的List<FileInfo>
. 如果您不能仅通过查看我上面的代码来确定这一点,也许可以提供一种聪明的方法来调查这一点 - 例如将对象序列化为 XML,我可以区分它们。我猜我错过了一些东西。