public void Transaction()
        {
            Mock <IEtcdClient> etcdClientMock = new Mock <IEtcdClient>();
            Mock <IDisposable> disposableMock = new Mock <IDisposable>();

            EtcdCompoundClient client = new EtcdCompoundClient(etcdClientMock.Object, disposableMock.Object);

            Fixture fixture = new Fixture();

            TxnRequest  txnRequest = fixture.Create <TxnRequest>();
            TxnResponse response   = fixture.Create <TxnResponse>();

            etcdClientMock.Setup(p => p.Transaction(txnRequest, null, null, CancellationToken.None)).Returns(response);

            TxnResponse actualResponse = client.Transaction(txnRequest);

            etcdClientMock.Verify(p => p.Transaction(txnRequest, null, null, CancellationToken.None), Times.Once);
            Assert.AreSame(response, actualResponse);
        }