Ir ao conteúdo
  • Cadastre-se

Java teste unitário junit gerenciador de contas


Visitante

Posts recomendados

iniciando teste junit e não está funcionando os testes desta classe. alguem pode me ajudar a resolver?

package negocio;


import java.util.List;

/**
 * Classe de negócio para realizar operações sobre as contas do banco.
 * @authorMIL
 */
public class GerenciadoraContas {

    private List<ContaCorrente> contasDoBanco;

    public GerenciadoraContas(List<ContaCorrente> contasDoBanco) {
        this.contasDoBanco = contasDoBanco;
    }

    /**
     * Retorna uma lista com todas as contas do banco.
     * @return lista com todas as contas do banco
     */
    public List<ContaCorrente> getContasDoBanco() {
        return contasDoBanco;
    }

    /**
     * Pesquisa por uma conta a partir do seu ID.
     * @param idConta id da conta a ser pesquisada
     * @return a conta pesquisada ou null, caso não seja encontrada
     */
    public ContaCorrente pesquisaConta (int idConta) {

        for (ContaCorrente contaCorrente : contasDoBanco) {
            if(contaCorrente.getId() == idConta)
                return contaCorrente;
        }
        return null;
    }
    
    /**
     * Adiciona uma nova conta à lista de contas do banco.
     * @param novaConta nova conta a ser adicionada
     */
    public void adicionaConta (ContaCorrente novaConta) {
        this.contasDoBanco.add(novaConta);
    }

    /**
     * Remove conta da lista de contas do banco.
     * @param idConta ID da conta a ser removida 
     * @return true se a conta foi removida. False, caso contrário.
     */
    public boolean removeConta (int idConta) {
        
        boolean contaRemovida = false;
        
        for (int i = 0; i < contasDoBanco.size(); i++) {
            ContaCorrente conta = contasDoBanco.get(i);
            if(conta.getId() == idConta){
                contasDoBanco.remove(i);
                break;
            }
        }
        
        return contaRemovida;
    }

    /**
     * Informa se uma determinada conta está ativa ou não.
     * @param idConta ID da conta cujo status será verificado
     * @return true se a conta está ativa. False, caso contrário. 
     */
    public boolean contaAtiva (int idConta) {
        
        boolean contaAtiva = false;
        
        for (int i = 0; i < contasDoBanco.size(); i++) {
            ContaCorrente conta = contasDoBanco.get(i);
            if(conta.getId() == idConta)
                if(conta.isAtiva()){
                    contaAtiva = true;
                    break;
                }
        }
        
        return contaAtiva;
    }
    
    /**
     * Transfere um determinado valor de uma conta Origem para uma conta Destino.
     * Caso não haja saldo suficiente, o valor não será transferido.
     * 
     * @param idContaOrigem conta que terá o valor deduzido
     * @param valor valor a ser transferido
     * @param idContaDestino conta que terá o valor acrescido
     * @return true, se a transferência foi realizada com sucesso.
     */
    public boolean transfereValor (int idContaOrigem, double valor, int idContaDestino) {
        
        boolean sucesso = false;
        
        ContaCorrente contaOrigem = pesquisaConta(idContaOrigem);
        ContaCorrente contaDestino = pesquisaConta(idContaDestino);
        
//        if(contaOrigem.getSaldo() >= valor){
            contaDestino.setSaldo(contaDestino.getSaldo() + valor);
            contaOrigem.setSaldo(contaOrigem.getSaldo() - valor);
            sucesso = true;
//        }
    
        return sucesso;
    }
    
}

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...