public void TestThatComplexParameterExpressionInvokes() { var i = 10; var complexParameters = new ComplexParameters { Int = 1, Message = "Hello", InnerParameters = new ComplexParameters { Int = 2, Message = "World" } }; Expression <Action <IComplexParameterInterface> > expression = a => a.DoSomething(i, complexParameters); var serialized = ExpressionSerialization.Serialize(expression); var actor = new ActorTest(); var serializationInfo = ExpressionSerialization.Deserialize <IComplexParameterInterface>(serialized); var consumer = ExpressionExtensions.CreateDelegate <IComplexParameterInterface>(actor, serializationInfo); consumer(actor); Assert.Equal(i, actor.Count); Assert.Equal(complexParameters, actor.Parameters); }
protected bool Equals(ComplexParameters other) => Int == other.Int && Message == other.Message && Equals(InnerParameters, other.InnerParameters);
public void DoSomething(int count, ComplexParameters parameters) { Count = count; Parameters = parameters; }