Beispiel #1
0
        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(serialized);
            var consumer          = ExpressionExtensions.CreateDelegate <IComplexParameterInterface>(actor, serializationInfo);

            consumer(actor);
            Assert.Equal(i, actor.Count);
            Assert.Equal(complexParameters, actor.Parameters);
        }
Beispiel #2
0
 protected bool Equals(ComplexParameters other) =>
 Int == other.Int &&
 Message == other.Message &&
 Equals(InnerParameters, other.InnerParameters);
Beispiel #3
0
 public void DoSomething(int count, ComplexParameters parameters)
 {
     Count      = count;
     Parameters = parameters;
 }