ライノモック:オブジェクトのプロパティの制約を確認する方法はありますか?
-
09-06-2019 - |
質問
私が持っているなら
class ObjA {
public ObjB B;
}
class ObjB {
public bool Val;
}
そして
class ObjectToMock {
public DoSomething(ObjA obj){...}
}
DoSomething が呼び出されるだけでなく、obj.B.Val == true であるという期待を定義する方法はありますか?
私が試してみました
Expect.Call(delegate {
mockObj.DoSomething(null);
}).Constraints(new PropertyIs("B.Val", true));
しかし、値が何であっても失敗するようです。
解決
Is.Matching() を使用して、述語制約を指定してみることができます (わかりやすくするために行外に移動しています)。
Predicate nestedBValIsTrue = delegate(ObjA a) { return a.B.Val == true;};
Expect.Call( delegate {mockobj.DoSomething(null);})
.Constraints( Is.Matching(nestedBValIsTrue));
所属していません StackOverflow