检索SelectList项的计数?

时间:2010-10-21 17:35:59

标签: unit-testing asp.net-mvc-2

问题:我无法访问SelectList

中的项目数

我有一个返回SelectList的HtmlHelper方法:

public static SelectList FilterSelectList(this HtmlHelper helper, List<Stuff> eList, string dept)
{
 List<Stuff> returnList = new List<Stuff>();

 //Do Stuff    

 return new SelectList(returnList, "ID", "Name");
}

然后我进行了测试,确认过滤器已正确完成:

// Arrange
List<Stuff> eList = MVCMocks.GetList();
string dept = "T";
int expectedCount = eList.FindAll(e => e.Dept == dept).Count;

// Act
var actual = HtmlHelpers.FilterSelectList(helper, eList, dept);

// Assert
Assert.AreEqual(expectedCount, actual.Count, "The list was not properly filtered.");

调用actual.Count会导致错误。

我希望这只是我的一个愚蠢疏忽的情况,但我一直在敲打这个问题。证明我是对的! :)

编辑:我试过的东西

actual.Count
actual.Count()
actual.Items.Count()
actual.GetEnumerator().?

1 个答案:

答案 0 :(得分:6)

您需要actual.Count()(请注意!不是actual.Count