0

我有一个单元测试方法:

private bool TestCompatibility(string type1, string type2, bool shouldBeCompatible)
{
}

因为它“知道”哪些类型是(设计的)兼容的,所以它会调用正在测试的单元并查找错误。错误应该只出现在不兼容的类型上,所以方法测试是单元类型检查代码是否正确实现。

问题:我是如何编写三胞胎合集的?

我想要类似的东西:

var ar = { { "Num", "Num", true }, { "Num", "Datetime", false } };
foreach (var triplet in ar)
{
    // ???
}

带有隐式类型。

PS 我知道我可以将属性与 NUnit 一起使用。不过,我想看看,如何在没有库的情况下编写它。

问候,

4

1 回答 1

3

我不知道这是否是您正在寻找的,但您可以使用匿名类型:

var ar = new[] { 
    new { Type1 = "Num", Type2 = "Num", Compatible = true }, 
    new { Type1 = "Num", Type2 = "Datetime", Compatible = false } 
};
foreach (var triplet in ar)
{
    TestCompatibility(triplet.Type1, triplet.Type2, triplet.Compatible);
}
于 2010-12-10T10:58:18.207 回答