Created: 2026-05-06 mié 11:36
| Objeto de prueba | Caso de prueba |
|---|---|
Math.abs() se corresponde con el valor absoluto |
Se espera que Math.abs(-10) sea 10 |
| Si Mario cae sobre un goompa, Mario rebota | Se espera que Mario rebote al saltar sobre el pimer goompa en el mundo 1-1 |
| No se puede comprar a crédito | Se espera que el usuario US9474, con saldo 35, no puede comprar el artículo AR324, con coste 40 |
Math.abs() es correcto?4, 24, -2341, 3113 no garantiza al 100% que funcione para -54.int, log, float y doubleif, while, for) se ha ejecutado como cierto y falsoand, or) se ha ejecutado como cierta y falsoreturnif, switch, for)La complejidad final es el número de áreas:
Complejidad = Aristas - Nodos + 2*NodosFinales
Miraremos la cobertura de decisiones
|
|
|
|
|
return en cuanto se pueda)SHIFT SHIFT run with coverage
if, while, for) se ha ejecutado como cierto y falsoand, or) se ha ejecutado como cierta y falso
int[] ordenaTresEnterosDeMayorAMenor(int,int,int) (sin usar sort)boolean esEdadLaboral(int edad)boolean esEdadLaboral(int edad, int añoactual)0013462353 es un número de teléfono válido?+33 341234522,2,2 es un número de teléfono válido?
@Test
Assert.assertXXXXimport org.junit.*;
import static org.junit.Assert.*;
import example.util.Calculator;
class CalculatorTest {
private final Calculator calculator = new Calculator();
@Test
void addition() {
assertEquals(2, calculator.add(1, 1));
}
}
Todas en https://junit.org/junit4/javadoc/4.8/org/junit/Assert.html
assertArrayEquals(expected, actual)
assertEquals(expected, actual)
assertFalse(boolean condition)
assertNotNull(Object object)
assertNotSame(Object unexpected, Object actual)
assertNull(Object object)
assertSame(Object expected, Object actual)
assertTrue(boolean condition)
fail(String message)
@Test(expected = EmailFormatException.class)
public void testEmaiVacio() throws EmailFormatException {
EmailSeparator.separaEmail("");
}
| Anotacion | Descripcion |
|---|---|
| @Test | Indica que el método es un test |
| @DisplayName | Indica un nombre para el test class o el test method |
| @Tag | Define etiquetas para filtrar por tests |
| @Before | Se aplica a un método para indicar que se ejecute antes de cada método de prueba. |
| @After | Se aplica a un método para indicar que se ejecuta después de cada método de prueba. |
| @BeforeClass | Se aplica a un método static para indicar que se ejecuta antes que todos lo métodos de prueba de la clase. |
| @AtterClass | Se aplica a un método static para indicar que se ejecuta antes que todos lo métodos de prueba de la clase. |
| @Ignore | Ese aplica a un método de prueba para evitar esa prueba |
/**
* Separa un correo electrónico en dos partes: nombre de usuario y dominio.
*
* @param email La dirección de correo electrónico a separar.
* @return Un array de cadenas donde el primer elemento
* es el nombre de usuario y el segundo es el dominio.
* Devuelve null si el formato del correo no es correcto.
*/
public static String[] separaEmail(String email) {
...
}
public class EmailSeparator {
public static String[] separaEmail(String email) {
// Detectar la posición del símbolo '@'
int atIndex = -1;
for (int i = 0; i < email.length(); i++) {
if (email.charAt(i) == '@') {
atIndex = i;
}
}
// Si no se encontró '@' o está al principio o al final
if (atIndex <= 0 || atIndex >= email.length() - 1) {
return null;
}
// Separar el nombre de usuario y el dominio
String username = email.substring(0, atIndex);
String domain = email.substring(atIndex + 1);
// Verificar que el dominio no esté vacío
if (domain.isEmpty()) {
return null;
}
// Devolver el resultado en un array
return new String[]{username, domain};
}
}
separaEmail()String tipoDePolígono(int[] longitudLados)"cuadrado" si los lados pueden formar un cuadrado"rectángulo" si los lados pueden formar un rectángulo"regular" si los lados pueden forman un polígono regular"iregular" si los lados pueden forman un polígono"imposible" si hay pocos lados para hacer un polígono, o algún otro problema(2,2,2,2) es un polígono regular y un cuadrado, pero es más prioritario "cuadrado"(2,1,2,1) es un polígono irregular y un rectángulo, pero es más prioritario "rectangulo"public class Punto{
public int x;
public int y;
public static Punto[][] masCercanos( Punto[] puntos ){
}
}
(1,2) (1,1) (2,11) (3,3) (4,3) (5,8) (100,0) (100,1) devolvería un array de longitud 3. Cada posición es un array de dos puntos
(1,2) (1,1)(3,3) (4,3)(100,0) (100,1)(1,20) (18,1) (2,110) (3,3) (51,8) (100,0) (100,1) (4,5) devolvería un array de longitud 1. Cada posición es un array de dos puntos
(3,3) (4,5)/**
* Decide si una matrícula de coche (tipo 9999ZZZ) es anterior a otra.
* No importan mayúsculas y minúsculas.
* Tampoco importa si hay separación por espacios entre los números y las letras
* @param m1 Matrícula española actual
* @param m2 Matrícula española actual
* @return "iguales" si son iguales
* "menor" si m1 es anterior a m2
* "mayor" si m1 es posterior a m2
* "error" si m1 o m2 no son matrículas válidas
*/
public static String comparaMatrícula(String m1, String m2){
....
}