Autofixture: 填充排序列表

创建于 2016-05-18  ·  7评论  ·  资料来源: AutoFixture/AutoFixture

当您向 AutoFixture 询问字典时,它提供了一个非空值:

``` C#
var fixture = new Fixture();
var 实际 = fixture.Create>();
Assert.NotEmpty(实际); // 成功

When you request a sorted list, on the other hand, the returned list is empty. This test fails its assertion:

``` C#
var fixture = new Fixture();
var actual = fixture.Create<SortedList<int, string>>();
Assert.NotEmpty(actual); // Fails

由于 AutoFixture 已经可以提供非空字典,并且SortedList<TKey, TValue>的构造函数重载之一需要一个字典,因此将 _relay_ 从SortedList<TKey, TValue>IDictionary<TKey, TValue>应该相当容易

例如,实现可以是一个新的ISpecimenBuilder ,它通过从context解析IDictionary<TKey, TValue>来处理对任何SortedList<TKey, TValue>的请求,然后调用适当的构造函数重载返回的值。

另一个实现选项是模仿具体字典已经填充的方式。 请参阅Fixture类中DictionaryFillerDictionarySpecification的组合。

enhancement good first issue

最有用的评论

@sbrockway宣布您将尝试一下就足够了,不需要分配:+1:

所有7条评论

这个问题是由这个 Stack Overflow 问题提示的。

另请参阅 #623 和 #624。

@ploeh我想尝试一下实现这一点。 我是 git 的新手。 我分叉并让它在本地进入 VS。 我假设我在准备好时发送拉取请求。 你把问题交给我,还是没有必要? 我没有看到将它分配给自己的方法。

@sbrockway宣布您将尝试一下就足够了,不需要分配:+1:

@sbrockway@adamchester是对的:发布公告通常就足够了。 AutoFixture 是一个相当成功的开源项目,所以它看到了稳定的贡献,但我认为我从未见过几个贡献者竞争做相同功能的情况:smile:

其他更受欢迎的项目可能会做不同的事情,因此您通过询问 :+1 做了正确的事情:

如果您需要任何帮助,请询问 :smile:

我在学习如何使用 GitHub 时遇到问题。 为昨天的拉取请求道歉,我试图重新设置我的叉子,但它错误地猜测了拉取请求的移动方向。 我想通了,并让我的回购是最新的。
我被困在如何回滚/恢复我对我的回购的最后一次提交,以便我可以取回我删除的文件以走你建议的路线。 如果您对此有任何指示,那将很有帮助。

我不知道你的 repo 是什么样的。 虽然我可以看看你的叉子,但我看不到它在你本地机器上的样子,所以我很难提供具体的建议。

通常,对于 Git,如果您无可救药地迷失了方向,最简单的方法可能是从一个新分支重新开始。 这确保了原始分支保持完整。 这很重要,因为我经常听到人们用 Git 做的是,在绝望中,他们试图运行一个他们不完全理解的命令,然后他们最终删除了他们的工作 - 永远!

关于 Git,我能给出的最好建议是慢慢来,只做你完全理解的事情。 在极少数情况下,您想尝试一些您不完全理解的东西,至少帮自己在其他地方创建存储库的副本。 Git 的美妙之处在于它完全基于文件,因此(临时)“备份”可以像将存储库文件夹复制到桌面一样简单。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

joelleortiz picture joelleortiz  ·  4评论

josh-degraw picture josh-degraw  ·  4评论

Ridermansb picture Ridermansb  ·  4评论

Accc99 picture Accc99  ·  4评论

DeafLight picture DeafLight  ·  5评论