public void CreateTransaction() { object asyncState = new object(); ITransaction innerTransaction = new Mock <ITransaction>().Object; mock.Setup(_ => _.CreateTransaction(asyncState)).Returns(innerTransaction); ITransaction wrappedTransaction = wrapper.CreateTransaction(asyncState); mock.Verify(_ => _.CreateTransaction(asyncState)); Assert.IsInstanceOf <TransactionWrapper>(wrappedTransaction); Assert.AreSame(innerTransaction, ((TransactionWrapper)wrappedTransaction).Inner); }