Rhino Mocks: Y a-t-il un moyen de vérifier une contrainte sur la propriété d'une propriété d'objet?
-
09-06-2019 - |
Question
Si j'ai
class ObjA {
public ObjB B;
}
class ObjB {
public bool Val;
}
et
class ObjectToMock {
public DoSomething(ObjA obj){...}
}
Existe-t-il un moyen de définir une attente selon laquelle non seulement DoSomething sera appelé, mais obj.B.Val == true?
j'ai essayé
Expect.Call(delegate {
mockObj.DoSomething(null);
}).Constraints(new PropertyIs("B.Val", true));
mais il semble échouer quelle que soit la valeur.
La solution
Vous pouvez essayer d'utiliser Is.Matching () et de fournir une contrainte de prédicat (déplacée en dehors de la ligne pour plus de clarté):
Predicate nestedBValIsTrue = delegate(ObjA a) { return a.B.Val == true;};
Expect.Call( delegate {mockobj.DoSomething(null);})
.Constraints( Is.Matching(nestedBValIsTrue));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow