Hola,
estoy atascado con las excepciones en Junit.Me han mandado hacer un diccionario lineal, es decir un array, y un hashmap, y sobre eso hacer una clase de prueba con Junit. Además de la interface Diccionario, tengo una clase ClaveValor, en la que hay un String clave y un String valor y sus getter y setter.
Os copio lo que he hecho en Junit
public class DiccionarioTest1 {
private DiccionarioLineal diccionario1;
@Before
public void preparacion() {
diccionario1 = new DiccionarioLineal(12);
CV c1 = new CV(null, "hola");
CV c2 = new CV(null, null);
CV c3 = new CV("", null);
CV c4 = new CV("", "");
diccionario1.put(c1.getClave(), c1.getValor());
diccionario1.put(c2.getClave(), c2.getValor());
diccionario1.put(c3.getClave(), c3.getValor());
diccionario1.put(c4.getClave(), c4.getValor());
}
@Test(expected = IllegalArgumentException.class)
public void testExceptionPutLineal() throws Exception{
diccionario1 = new DiccionarioLineal(12);
assertEquals(null,);
assertEquals(null, c2.getClave());
assertEquals("", diccionario1.ge);
assertEquals("", c4.getClave());
}
@Test
public void testExceptionPutLineal1() throws Exception{
diccionario1 = new DiccionarioLineal(12);
CV c1 = new CV("hola", null);
CV c2 = new CV("hola", "");
assertEquals("hola",c1.getClave());
assertEquals("hola", c2.getClave());
}
Entiendo que cuando pruebo la excepcion para que no salte, es decir, el ultimo método; no estoy probando nada puesto que le doy unos valores a dos objetos de la clase ClaveValor, que creo en el mismo método. Y pienso que debería darle valores en el método preparación y luego sacar la clave en el assertequals, pero el método getClave, es solo de la clase CV, con lo cual no sé como hacerlo.
Es un poquito largo pero espero su ayuda. Un saludo