public void CreateRootTransaction_WithExtension() { ITransactionFactory factory = MockRepository.GenerateMock <ClientTransactionFactory>(); var extensionStub = MockRepository.GenerateStub <IClientTransactionExtension>(); extensionStub.Stub(stub => stub.Key).Return("extension"); factory.Expect(mock => PrivateInvoke.InvokeNonPublicMethod(mock, "OnTransactionCreated", Arg <ClientTransaction> .Is.NotNull)).WhenCalled( invocation => ((ClientTransaction)invocation.Arguments[0]).Extensions.Add(extensionStub)); ITransaction transaction = factory.CreateRootTransaction(); var clientTransaction = transaction.To <ClientTransaction>(); Assert.That(clientTransaction.Extensions, Has.Member(extensionStub)); }