public void AdicionarTransacaoManualTestFakery()
        {
            ///AAA - Arrange, Act, Assert
            ///Arrange
            var contaa   = Conta.CriarConta(Conta.TipoConta.Bronze);
            var fakeRepo = new ContaRepository(contaa); //esse repositório foi montado para servir de repositório falso, equanto o oficial não foi desenvolvido
            var sutt     = new ContaService(fakeRepo);

            //Act
            sutt.AdicionarTransacao("ContaComercial", 200m);

            //Assert
            Assert.AreEqual(200m, contaa.Saldo);
        }
        public void AdicionarTransacaoMoquada()
        {
            ///AAA - Arrange, Act, Assert
            ///Arrange
            var contaa = Conta.CriarConta(Conta.TipoConta.Bronze);

            // var mockRepository = new Mock<IContaRepository>();
            mockRepository.Setup(r => r.GetByName("ContaComercial")).Returns(contaa);
            // var sut = new ContaService(mockRepository.Object);

            //Act
            sut.AdicionarTransacao("ContaComercial", 200m);

            //Assert
            Assert.AreEqual(200m, contaa.Saldo);
        }
        //[ExpectedException(typeof(ServiceException))]
        public void ExceptionContaEnvelopadaNoServico()
        {
            //Arrange
            contaMockada.Setup(a => a.AdicionarTransacao(100m)).Throws <DomainException>();
            mockRepository.Setup(r => r.GetByName("ContaComercial")).Returns(contaMockada.Object);
            var sut = new ContaService(mockRepository.Object);

            try
            {
                //act
                sut.AdicionarTransacao("ContaComercial", 100m);
            }
            catch (ServiceException serviceException)
            {
                //assert
                Assert.IsInstanceOfType(serviceException.InnerException, typeof(DomainException));
            }
        }