请参阅以下代码:
public IEnumerable<int> Numbers()
{
yield return 1;
yield return 2;
yield return 3;
yield return 4;
yield return 5;
}
以及下面的单元测试:
public void GetNumbers()
{
ClassToTest c = new ClassToTest();
var expected =
var actual = c.Numbers();
CollectionAssert.AreEqual(expected, actual);
}
我需要帮助填充开头的行:var expected
我是否必须转换为列表以使断言起作用。请注意,订单很重要,即两个集合必须具有以下顺序的数字:1,2,3,4,5。
请注意上面的代码不是真正的测试。我用它来解释我的问题。
答案 0 :(得分:0)
尝试:
ClassToTest c = new ClassToTest();
var expected = int[] { 1, 2, 3, 4, 5 };
var actual = c.Numbers().ToArray();
CollectionAssert.AreEqual(expected, actual);