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);
        }
Пример #2
0
        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]);
        }