public void ProcessesVisitorTypes(Type type) { var forMethod = forMethodGeneric.MakeGenericMethod(type); var substitute = (IMessageSinkMessage)forMethod.Invoke(null, new object[] { new object[0] }); var visitor = new SpyTestMessageVisitor(); visitor.OnMessage(substitute); Assert.Collection(visitor.Calls, msg => Assert.Equal(type.Name, msg) ); }
public void ProcessesVisitorTypes(Type type) { var forMethodGeneric = typeof(Substitute).GetMethods().Single(m => m.Name == "For" && m.IsGenericMethodDefinition && m.GetGenericArguments().Length == 1); var forMethod = forMethodGeneric.MakeGenericMethod(type); var substitute = (IMessageSinkMessage)forMethod.Invoke(null, new object[] { new object[0] }); var visitor = new SpyTestMessageVisitor(); visitor.OnMessage(substitute); Assert.Collection(visitor.Calls, msg => Assert.Equal(type.Name, msg) ); }