c# - 犀牛模拟 : How to return conditional result from a mock object method

标签 c# rhino-mocks anonymous-methods

我想做类似下面的事情,但似乎无法完全正确地获得 Do 方法的语法。

var sqr = new _mocks.CreateRenderer<ShapeRenderer>();
Expect.Call(sqr.CanRender(null)).IgnoreArguments().Do(x =>x.GetType() == typeof(Square)).Repeat.Any();

所以基本上,我想设置 sqr.CanRender() 方法,如果输入是 Square 类型,则返回 true,否则返回 false。

最佳答案

你在找这个吗?

Expect.Call(sqr.CanRender(null)).IgnoreArguments()
    .Do((Func<Shape, bool>) delegate(Agent x){return x.GetType() == typeof(Square);})
    .Repeat.Any();

编辑:答案在精神上是正确的,但原始语法不太有效。

关于c# - 犀牛模拟 : How to return conditional result from a mock object method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/313030/

相关文章:

使用 RhinoMocks 的 C# 模拟 Request.Browser.MajorVersion

c# - 带有 lambda 表达式和匿名方法的 ThreadPool.QueueUserWorkItem

c# - 编译器为匿名方法生成了不正确的代码 [MS BUG FIXED]

c# - 共享一个类的离散匿名方法?

c# - 从列表中 ID 所在的集合中选择全部

c# - Visual Studio 中具有智能感知的 Simple.Data Micro ORM(动态)

c# - 使用 Rhino Mocks 模拟 IObjectSet<T>

c# - 如何使用 LINQ 表达式从模拟存储库返回新对象?

C# 程序想要选择数据 <= 23 :59:59 but ends up selecting data with 00:00:00 timestamp as well

c# - 禁用 GeckoFX 确认消息