我正在做两个从linq到sql查询构建的公共列表CollectionAssert。当我为这些集合进行讨论时,即使对于明确应该通过的测试集,它也总是失败。CollectionAssert.IsSubsetOf公共静态列表总是失败
我甚至在我的代码中做了一个快速测试,以确保我正确使用CollectionAssert。
//This always passes
List<string> testList1 = new List<string>();
List<string> testList2 = new List<string>();
testList1.Add("one");
testList2.Add("two");
testList2.Add("three");
testList2.Add("one");
CollectionAssert.IsSubsetOf(testList1, testList2);
//This always fails
CollectionAssert.IsSubsetOf(memberOrganizations, member_Dim_Organization, "Error Matching Fields");
有关如何更正第二个断言的语法的任何想法?我附上了我的调试窗口的屏幕截图。 Debug Screen Shot
我定义列表的结构的格式在一种方法
namespace DefineStructure
{
public class Results
{
public string OrgID { get; set; }
}
该负载中的数据在一个单独的
namespace Reporting.Member_Dim_Organization.ETL.QA
{
public class LoadData
{
public static cDataContext oMain = new cDataContext();
public static List<Results> oecMainResults = (from mo in oecMain.MemberOrganizations
orderby mo.OrgID
select new Results
{
OrgID = (mo.OrgID).ToString() }).Take(1).ToList();
然后我声明它在我的主程序
namespace Reporting.Main
{
[Binding]
public class Member_Dim_OrganizationsSteps
{
public static List<Results> memberOrganizations = LoadData.oecMainResults;
public static List<Results> member_Dim_Organization = LoadData.reportingMasterResults;
这有助于澄清?
感谢您帮助一位试图学习一些新技巧的老狗。
我怀疑'memberOrganizations'和'member_Dim_Organization'是引用类型的集合,你没有重写'Equals'和/或'GetHashCode'。如果它们是自定义类型,并且您拥有覆盖它们,那么将该实现添加到您的问题中。 –
我添加了一些关于我如何拉动信息的更多信息。我会喜欢我的方法的任何反馈。非常感谢您的时间。 – Richard