如何在 nunit 中测试泛型集合?

发布于 2024-07-23 22:22:31 字数 325 浏览 3 评论 0原文

我怎样才能在 NUnit 中做这样的事情?

class Foo
{
    int Value { get; set; }
    ...
}
...
ICollection<Foo> someFoos = GetSomeFoos();
Expect(List.Map(someFoos).Property("Value"), Has.Some.EqualTo(7));

List.Map() 仅接受 ICollection,而不接受 ICollection

How can I do something like this in NUnit?

class Foo
{
    int Value { get; set; }
    ...
}
...
ICollection<Foo> someFoos = GetSomeFoos();
Expect(List.Map(someFoos).Property("Value"), Has.Some.EqualTo(7));

List.Map() only accepts ICollection, not ICollection<T>.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

韬韬不绝 2024-07-30 22:22:33

好吧,您可以从概念上使用 linq to 对象扩展,例如:

Expect(someAs.Count(), Has.Some.EqualTo(7));

well, you could conceptually use linq to objects extensions, something like:

Expect(someAs.Count(), Has.Some.EqualTo(7));

小傻瓜 2024-07-30 22:22:33

如果您尝试这样的事情会怎么样:

List<Foo> someFoos = GetSomeFoos();

因为 List 确实 实现了 ICollection 接口。

What if you tried something like this instead:

List<Foo> someFoos = GetSomeFoos();

as List<T> does implement the ICollection interface.

☆獨立☆ 2024-07-30 22:22:32

那么,您可以将 ICollection 转换为实现 ICollection 的内容。 数组例如:

ICollection<Foo> someFoos = GetSomeFoos();
var array = new Foo[10];
someFoos.CopyTo(array);
Expect(List.Map(array).Property("Value"), Has.Some.EqualTo(7));

Well, you could convert your ICollection<T> to something that implements ICollection. Array for instance:

ICollection<Foo> someFoos = GetSomeFoos();
var array = new Foo[10];
someFoos.CopyTo(array);
Expect(List.Map(array).Property("Value"), Has.Some.EqualTo(7));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文