public void ShouldUseGenericBaseSurrogateForDerivedClass() { var i = new SurrogateMockI <string>("something"); var pseudocopy = PseudoClone(i, serializer => serializer.ForObject(typeof(SurrogateMockF <>)).SetSurrogate(x => "success")); Assert.AreEqual("success", pseudocopy); }
public void ShouldUseMoreSpecificGenericSurrogateIfPossible() { var i = new SurrogateMockI <string>("something"); var pseudocopy = PseudoClone(i, serializer => { serializer.ForObject(typeof(SurrogateMockF <>)).SetSurrogate(x => "fail"); serializer.ForObject(typeof(SurrogateMockI <>)).SetSurrogate(x => "success"); }); Assert.AreEqual("success", pseudocopy); }