es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo escribir un caso de prueba para un método equals

¿Cómo puedo escribir un caso de prueba para este método equals que compara los números de identificación después de verificar si un objeto es un “Integer” o un “Patron”?

Aquí está el método:

public boolean equals(Object other) {
  boolean bool = false;

  if (other instanceof Patron) {
     Patron patron = (Patron) other;
     bool = this.idNumber == patron.idNumber;
  } else if (other instanceof Integer) {
     Integer id = (Integer) other;
     bool = this.idNumber == id;
  }
  return bool;
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para escribir un caso de prueba para este método equals, puedes seguir estos pasos:

    1. Crea una instancia de la clase Patron con un número de ID.
    2. Crea otra instancia de la clase Patron con el mismo número de ID.
    3. Crea una instancia de la clase Patron con un número de ID diferente.
    4. Crea un objeto Integer con el mismo número de ID que los objetos Patron.
    5. Crea otro objeto Integer con un número de ID diferente.
    6. Llama al método equals en el primer objeto Patron con el segundo objeto Patron como argumento. Esto debería devolver true.
    7. Llama al método equals en el primer objeto Patron con el tercer objeto Patron como argumento. Esto debería devolver false.
    8. Llama al método equals en el primer objeto Patron con el primer objeto Integer como argumento. Esto debería devolver true.
    9. Llama al método equals en el primer objeto Patron con el segundo objeto Integer como argumento. Esto debería devolver false.

    Aquí tienes un ejemplo de cómo podría ser el código del caso de prueba:

    import org.junit.Test;
    import static org.junit.Assert.*;
    
    public class PatronTest {
    
       @Test
       public void testEquals() {
          // Paso 1
          Patron patron1 = new Patron(1);
          // Paso 2
          Patron patron2 = new Patron(1);
          // Paso 3
          Patron patron3 = new Patron(2);
          // Paso 4
          Integer int1 = new Integer(1);
          // Paso 5
          Integer int2 = new Integer(2);
    
          // Paso 6
          assertTrue(patron1.equals(patron2));
    
          // Paso 7
          assertFalse(patron1.equals(patron3));
    
          // Paso 8
          assertTrue(patron1.equals(int1));
    
          // Paso 9
          assertFalse(patron1.equals(int2));
       }
    }
    

    En este ejemplo, hemos creado un caso de prueba para el método equals que verifica si el método compara correctamente los números de ID para las instancias de la clase Patron y las instancias de la clase Integer. Hemos utilizado el framework de pruebas JUnit para ejecutar nuestro caso de prueba y verificar que se devuelvan los resultados esperados.

Comments are closed.