0% encontró este documento útil (0 votos)
14 vistas6 páginas

Test Usuario

El documento describe pruebas unitarias para la clase Usuario y su registro en un sistema. Se verifica el registro exitoso de un usuario vegano y se manejan excepciones para nombres vacíos y la inclusión de ingredientes no veganos. Además, se implementa la validación del nombre y la lógica para registrar ingredientes según el tipo de dieta del usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • nivel de habilidad culinaria,
  • métodos de acceso,
  • diseño de software,
  • clase Usuario,
  • manejo de errores,
  • pruebas unitarias,
  • registro de usuario,
  • validación de datos,
  • excepciones,
  • análisis de errores
0% encontró este documento útil (0 votos)
14 vistas6 páginas

Test Usuario

El documento describe pruebas unitarias para la clase Usuario y su registro en un sistema. Se verifica el registro exitoso de un usuario vegano y se manejan excepciones para nombres vacíos y la inclusión de ingredientes no veganos. Además, se implementa la validación del nombre y la lógica para registrar ingredientes según el tipo de dieta del usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • nivel de habilidad culinaria,
  • métodos de acceso,
  • diseño de software,
  • clase Usuario,
  • manejo de errores,
  • pruebas unitarias,
  • registro de usuario,
  • validación de datos,
  • excepciones,
  • análisis de errores

/* RED

* Dado: un usuario en la pantalla de registo ingresa ("Ana", tipo de vegetariano


"vegano", sin alergias, y escribe nivel de cocina prinicipiante )
* Entonces: cuando se registra en el sistema
* Entonces: el usuario debe ser registrado correctamente
*/

import static org.junit.jupiter.api.Assertions.*;


import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;

/**
* The test class UsuarioTest.
*
* @author (your name)
* @version (a version number or a date)
*/
public class UsuarioTest {
@Test
public void testRegistroExitoso(){
Usuario usuario = new Usuario("Ana", "vegano", List.of(), "principiante");
RegistrarUsuario registro = new RegistrarUsuario();
registro.registrarUsuario(usuario);
assertEquals(1,registro.getUsuariosRegistrados().size());
}
}

GREEN

import java.util.List;

public class Usuario


{

private String nombre;


private String tipoDeVegetariano;
private List<String> alergias;
private String nivel;

public Usuario (String nombre, String tipoDeVegetariano,


List<String> alergias, String nivelHabilidadCulinaria){
this.nombre=nombre;
this.tipoDeVegetariano=tipoDeVegetariano;
this.alergias=alergias;
this.nivel=nivelHabilidadCulinaria;
}
}

import java.util.ArrayList;

public class RegistrarUsuario


{
private ArrayList<Usuario> ListaUsuarios = new ArrayList<>();
public void registrarUsuario(Usuario usuario){
ListaUsuarios.add(usuario);
}

public ArrayList<Usuario> getUsuariosRegistrados(){


return ListaUsuarios;
}
}

TEST 2

* TEst 2
* Dado: Un usuario en la pantalla de registro
* Cuando: ingresa nombre ""
* Entonces: se lanza una excepcion el nombre no puede estar vacio
*/
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;

public class UsuarioTest {


@Test
public void testRegistroExitoso(){
Usuario usuario = new Usuario("Ana", "vegano", List.of(), "principiante");
RegistrarUsuario registro = new RegistrarUsuario();
registro.registrarUsuario(usuario);
assertEquals(1,registro.getUsuariosRegistrados().size());
}

@Test
public void testRegistroNombreVacio(){
RegistrarUsuario registro = new RegistrarUsuario();
Usuario usuario = new Usuario("", "vegano", List.of(), "principiante");
try {
registro.registrarUsuario(usuario);
fail("Se esperaba una IllegalArgumentException pero no se lanzo");
} catch (IllegalArgumentException e){
assertEquals("el nombre no puede estar vacio", e.getMessage());
}
}

GREEN

import java.util.List;
/**
* Write a description of class Usuario here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Usuario {
private String nombre;
private String tipoDeVegetariano;
private List<String> alergias;
private String nivel;

public Usuario (String nombre, String tipoDeVegetariano,


List<String> alergias, String nivelHabilidadCulinaria){
validarNombre(nombre);
this.nombre=nombre;
this.tipoDeVegetariano=tipoDeVegetariano;
this.alergias=alergias;
this.nivel=nivelHabilidadCulinaria;
}
public void validarNombre(String nombre){
if(nombre == null || nombre.trim().isEmpty()){
throw new IllegalArgumentException("el nombre no puede estar vacio");
}
}

public String getNombre(){


return nombre;
}

REFACTOR
eliminar el codigo duplicado

* TEst 2
* Dado: Un usuario en la pantalla de registro
* Cuando: ingresa nombre ""
* Entonces: se lanza una excepcion el nombre no puede estar vacio
*
* Test 3:
* Dado: Un usuario se registra como vegano
* cuando: se intenta registrarIngrediente("leche");
* entonces: el sistema lanzara una excepcion ("ingrediente no vegano")
*/
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;

/**
* The test class UsuarioTest.
*
* @author (your name)
* @version (a version number or a date)
*/
public class UsuarioTest {
private RegistrarUsuario registro;
@BeforeEach
public void setUp(){
registro = new RegistrarUsuario();
}

@Test
public void testRegistroExitoso(){
Usuario usuario = new Usuario("Ana", "vegano", List.of(), "principiante");
registro.registrarUsuario(usuario);
assertEquals(1,registro.getUsuariosRegistrados().size());
}

@Test
public void testRegistroNombreVacio(){

try {
Usuario usuario = new Usuario("", "vegano", List.of(), "principiante");
registro.registrarUsuario(usuario);
fail("Se esperaba una IllegalArgumentException pero no se lanzo");
} catch (IllegalArgumentException e){
assertEquals("el nombre no puede estar vacio", e.getMessage());
}
}

RED

/* RED
* Dado: un usuario en la pantalla de registo ingresa ("Ana", tipo de vegetariano
"vegano", sin alergias, y escribe nivel de cocina prinicipiante )
* Entonces: cuando se registra en el sistema
* Entonces: el usuario debe ser registrado correctamente
*
* TEst 2
* Dado: Un usuario en la pantalla de registro
* Cuando: ingresa nombre ""
* Entonces: se lanza una excepcion el nombre no puede estar vacio
*
* Test 3:
* Dado: Un usuario se registra como vegano
* cuando: se intenta registrarIngrediente("leche");
* entonces: el sistema lanzara una excepcion ("ingrediente no vegano")
*/
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;

/**
* The test class UsuarioTest.
*
* @author (your name)
* @version (a version number or a date)
*/
public class UsuarioTest {
private RegistrarUsuario registro;
@BeforeEach
public void setUp(){
registro = new RegistrarUsuario();
}

@Test
public void testRegistroExitoso(){
Usuario usuario = new Usuario("Ana", "vegano", List.of(), "principiante");
registro.registrarUsuario(usuario);
assertEquals(1,registro.getUsuariosRegistrados().size());
}

@Test
public void testRegistroNombreVacio(){

try {
Usuario usuario = new Usuario("", "vegano", List.of(), "principiante");
registro.registrarUsuario(usuario);
fail("Se esperaba una IllegalArgumentException pero no se lanzo");
} catch (IllegalArgumentException e){
assertEquals("el nombre no puede estar vacio", e.getMessage());
}
}

@Test
public void testNoRegistrarIngredienteNoVegano(){
Usuario usuario = new Usuario("Ana", "vegano", List.of(), "principiante");
try {
usuario.registrarIngrediente("leche");
fail("se esperaba una IllegalArgumentException pero no se lanzo");
} catch (IllegalArgumentException e){
assertEquals("ingrediente no vegano", e.getMessage());
}
}

GREEN

import java.util.List;
/**
* Write a description of class Usuario here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Usuario {
private String nombre;
private String tipoDeVegetariano;
private List<String> alergias;
private String nivel;

public Usuario (String nombre, String tipoDeVegetariano,


List<String> alergias, String nivelHabilidadCulinaria){
validarNombre(nombre);
this.nombre=nombre;
this.tipoDeVegetariano=tipoDeVegetariano;
this.alergias=alergias;
this.nivel=nivelHabilidadCulinaria;
}
public void validarNombre(String nombre){
if(nombre == null || nombre.trim().isEmpty()){
throw new IllegalArgumentException("el nombre no puede estar vacio");
}
}

public String getNombre(){


return nombre;
}

public void registrarIngrediente(String ingrediente){


if(tipoDeVegetariano.equalsIgnoreCase("vegano")){
List<String> noVegano = List.of("leche","queso","yogur","huevo");
if (noVegano.contains(ingrediente.toLowerCase())){
throw new IllegalArgumentException("ingrediente no vegano");
}
}
}
}

REFCATOR

por el momento no hay nada que refactorizar

También podría gustarte