标签: argument-matching

粘贴中"崩溃"的缩写?

使用命令paste在R,我想用两个参数sepcollapse,但不能缩写collapsecoll,甚至collaps.然而对于其他功能,部分缩写起作用.

没有其他参数可以开始崩溃coll,这会干扰部分参数匹配.

为什么我必须在调用paste时键入整个参数名称,当我不需要其他函数时?

r argument-matching

17
推荐指数
1
解决办法
666
查看次数

在 NSubstitue 中使用 IEnumerable 设置参数匹配器

我正在为一个项目进行单元测试,但我无法弄清楚如何让 NSubstitute 按照我期望的方式工作。我遇到的问题是我要替换的代码在 while 循环中,并且根据替换值返回的内容确定循环是否继续。

我想做的是让 Process() 根据传入的内容返回不同的结果。我试过了

api.Process(Arg.Is<IEnumerable<int>>(new[] {1,2,3}, Arg.Any<bool>()).Returns(new ProcessingResult(){Success = true, IdsNotProcessed = List<int>{30}});
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,因为 processingResult 返回 null 因为 NSubstitue 与参数不匹配。

    [Test]
    public void TestTwoLoops()
    {
        var api = Substitute.For<IApi>();
        api.Process(/*list containing 1,2,3*/, Arg.Any<bool>()).Returns(new ProcessingResult(){Success = true, IdsNotProcessed = List<int>{30}});
        api.Process(/*list containing 30*/, Arg.Any<bool>()).Returns(new List<int>{});

        var sut = new WidgetMaker(api);

        sut.MakeWidget();
    }

    public class WidgetMaker
    {
        public WidgetMaker(IApi api)
        {
            _api = api;
        }

        public void MakeWidgets(IEnumerable<int> widgetIds)
        {
            var idsToProcess = widgetIds.ToList();

            while(true)
            {
                if(!idsToProcess.Any())
                { …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable nsubstitute argument-matching

1
推荐指数
1
解决办法
1096
查看次数

标签 统计

argument-matching ×2

c# ×1

ienumerable ×1

nsubstitute ×1

r ×1