public void BeforeWrappedMethod_ReturnsNoOp_IfTheRequiredTransactionIsFinished() { var transaction = _agent.CreateTransaction(true, "category", "name", true); transaction.End(); _compositeTestAgent.SetTransactionOnPrimaryContextStorage(transaction); var type = typeof(WrapperServiceTests); var methodName = "MyMethod"; var tracerFactoryName = "NewRelic.Agent.Core.Wrapper.DefaultWrapper"; var target = new object(); var arguments = new object[0]; using (var logging = new Logging()) { var wrapperService = _compositeTestAgent.GetWrapperService(); var afterWrappedMethod = wrapperService.BeforeWrappedMethod(type, methodName, string.Empty, target, arguments, tracerFactoryName, null, 0, 0); Assert.AreEqual(Delegates.NoOp, afterWrappedMethod, "AfterWrappedMethod was not the NoOp delegate."); Assert.True(logging.HasMessageThatContains("Transaction has already ended, skipping method"), "Expected log message was not found."); } }