public void CanCreateProxyMethodForBasicType() { // Arrange var target = new Listener5(); var source = new { name = "John", age = 1234 }; var targetMethodInfo = target.GetType().GetMethod(nameof(Listener5.TargetMethod)); // Act var adapter = new ProxyDiagnosticSourceMethodAdapter(); var callback = adapter.Adapt(targetMethodInfo, source.GetType()); var result = callback(target, source); // Assert Assert.True(result); Assert.Equal(target.Name, source.name); Assert.Equal(target.Age, source.age); }
public void UnsubscribeFromHandlerTest() { var listener = new Listener5(_messageBus); _messageBus.Subscribe(listener); var message = new Message1(); Assert.DoesNotThrow(() => _messageBus.Publish(message)); Assert.That(listener.ProcessedMessages, Has.Exactly(1).Items); Assert.AreSame(message, listener.ProcessedMessages[0]); var anotherMessage = new Message1(); _messageBus.Publish(anotherMessage); Assert.That(listener.ProcessedMessages, Has.Exactly(1).Items); Assert.AreSame(message, listener.ProcessedMessages[0]); }