Rhino Mocks: Y a-t-il un moyen de vérifier une contrainte sur la propriété d'une propriété d'objet?

StackOverflow https://stackoverflow.com/questions/76584

  •  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.

Était-ce utile?

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
scroll top