Rhino Mocks: Gibt es eine Möglichkeit, eine Einschränkung auf eine Objekteigenschaft Eigentum zu überprüfen?

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

  •  09-06-2019
  •  | 
  •  

Frage

Wenn ich

class ObjA {
  public ObjB B;
}
class ObjB {
  public bool Val;
}

und

class ObjectToMock {
  public DoSomething(ObjA obj){...}
}

Gibt es eine Möglichkeit, eine Erwartung zu definieren, die nicht nur DoSomething aufgerufen aber das obj.B.Val == wahr?

Ich habe versucht,

Expect.Call(delegate { 
    mockObj.DoSomething(null);
}).Constraints(new PropertyIs("B.Val", true));

, aber es scheint egal zu versagen, was der Wert ist.

War es hilfreich?

Lösung

Sie können versuchen, mit Is.Matching () und ein Prädikat Einschränkung Bereitstellung (bewegte out-of Linie für Klarheit):

    Predicate nestedBValIsTrue = delegate(ObjA a) { return a.B.Val == true;};
    Expect.Call( delegate {mockobj.DoSomething(null);})
           .Constraints( Is.Matching(nestedBValIsTrue));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top