// Método que debería devolver el factorial de un número // Entrada -> un número: 5 // Debería devolver 120 public static int calcularFactorial(int numero) { int factorial = 1; for (int i = 1; i < numero; i++) { factorial *= i; } return factorial; } @Test void calcularFactorial() { int numero,esperado,resultado; resultado=OperacionesArray.calcularFactorial(esperado); assertEquals(esperado,resultado); }
El problema en tu código es que estás intentando devolver el resultado del método `calcularFactorial` antes de haber calculado el valor de `esperado`. Además, estás llamando al método `calcularFactorial` con el parámetro `esperado` en lugar de `numero`. Aquí te muestro la corrección: ```java // Método que debería devolver el factorial de un número // Entrada -> un número: 5 // Debería devolver 120 public static int calcularFactorial(int numero) { int factorial = 1; for (int i = 1; i <= numero; i++) { factorial *= i; } return factorial; } @Test void calcularFactorial() { int numero = 5; // valor de entrada int esperado = 120; // valor esperado int resultado = OperacionesArray.calcularFactorial(numero); // llamar al método con el valor de entrada assertEquals(esperado, resultado); // comparar el resultado con el valor esperado } ``` En este código, se define un método `calcularFactorial` que calcula el factorial de un número. Luego, en el método de prueba `calcularFactorial`, se define un valor de entrada (`numero`) y un valor esperado (`esperado`). Se llama al método `calcularFactorial` con el valor de entrada y se compara el resultado con el valor esperado utilizando `assertEquals`.