Value returns only true in JUNIT4

Asked

Viewed 25 times

-1

I’m trying to do a shooting sport procedure, at the time I will test, every time changing "posso_shoot.setIdentificar_target(1);", when the value and 1 returns true, that’s what I want, but when I will test with "posso_shoot.setIdentificar_target(2);"True return, too, should be a mistake. I appreciate help

I can shoot.java

public class Posso_atirar {

    private int identificar_alvo ;
    private int atiradores_prontos  ;
    private int municiar_carregador ;
    private int alimentar_armamento ;
    private int ordem_destravar_armamento ;
    private int alvos_em_frente_fogo_a_vontade  ;




    public boolean Realizar_tiro(){
        if(identificar_alvo == 1){
            return true;
        }else if(atiradores_prontos == 1){
            return true;
        }else if(municiar_carregador == 1){
            return true;
        }else if(alimentar_armamento == 1){
            return true;
        }else if(ordem_destravar_armamento == 1){
            return true;
        }else {
            return true;
        }
    }

    public int getIdentificar_alvo() {
        return identificar_alvo;
    }

    public void setIdentificar_alvo(int identificar_alvo) {
        this.identificar_alvo = identificar_alvo;
    }

    public int getAtiradores_prontos() {
        return atiradores_prontos;
    }

    public void setAtiradores_prontos(int atiradores_prontos) {
        this.atiradores_prontos = atiradores_prontos;
    }

    public int getMuniciar_carregador() {
        return municiar_carregador;
    }

    public void setMuniciar_carregador(int municiar_carregador) {
        this.municiar_carregador = municiar_carregador;
    }

    public int getAlimentar_armamento() {
        return alimentar_armamento;
    }

    public void setAlimentar_armamento(int alimentar_armamento) {
        this.alimentar_armamento = alimentar_armamento;
    }

    public int getOrdem_destravar_armamento() {
        return ordem_destravar_armamento;
    }

    public void setOrdem_destravar_armamento(int ordem_destravar_armamento) {
        this.ordem_destravar_armamento = ordem_destravar_armamento;
    }

    public int getAlvos_em_frente_fogo_a_vontade() {
        return alvos_em_frente_fogo_a_vontade;
    }

    public void setAlvos_em_frente_fogo_a_vontade(int alvos_em_frente_fogo_a_vontade) {
        this.alvos_em_frente_fogo_a_vontade = alvos_em_frente_fogo_a_vontade;
    }
}


 JUNIT4 Test

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class Posso_atirarTest {

    Posso_atirar posso_atirar;

    @Before
    public void setUp() throws Exception{
        posso_atirar = new Posso_atirar();
    }



    @Test
    public void Verifica_alvo() {
        posso_atirar.setIdentificar_alvo(1);
        assertEquals(true, posso_atirar.Realizar_tiro());
    }
 @Test
    public void Verifica_alvo2() {
        posso_atirar.setIdentificar_alvo(2);
        assertEquals(true, posso_atirar.Realizar_tiro());
    }
}

  • His method Realizar_tiro current only returns true. What is the expected logic for this method? (Should give error if identificar_alvo is different from 1? Greater than 1? Which error?)

  • When I pass the test, it recognizes as true the value other than 1. In case of error, it would be to finish the test since the value is not totally equal. Being true goes to the next step.

  • Or would I be wrong in my logic ?

1 answer

0

I think I figured out my mistake, if(identifie_target == 1){ Return true; }Else if(shoot_ready == 1){ Return true; }Else if(municiar_loader == 1){ Return true; }Else if(power_armament == 1){ Return true; }Else if(ordem_unlock armament == 1){ Return true; }Else { Return true; <<<<------- Must end in false.... } }

.... I put as true Return in if and Else, tested here. When I put the value other than 1 returned false.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.