public void SetValueToDifferentType() { var obj = new BaObject(true, new { Str = "", Base = new MyBaseObject(), Derived = new MyDerivedObject() }); Assert.That.Throws <InvalidOperationException>(() => { obj["Str"] = 123; }); obj["Base"] = new MyDerivedObject(); Assert.That.Throws <InvalidOperationException>(() => { obj["Derived"] = new MyBaseObject(); }); }
public void MatchesAnyInvocationOnTargetDoesNotIncludesMethodsDeclaredOnObject() { var target = new MyDerivedObject(); var objectMethodInvocation = new Invocation(target, typeof(object).GetMethod("ToString"), null, new object[0], null, 0); var invocationMatcher = InvocationMatcher.ForAnyInvocationOn(target); Assert.IsFalse(invocationMatcher.Matches(objectMethodInvocation)); }