SlideShare una empresa de Scribd logo
1 de 12
CLASE LIBRO<br />package org.proyecto;<br />public class Libro {<br />String titulo;<br />String autor;<br />Persona persona;<br />public Libro(String string) {<br />this.titulo = string;<br />this.autor = quot;
autor desconocidoquot;
;<br />}<br />public String getAutor() {<br />return autor;<br />}<br />public void setAutor(String autor) {<br />this.autor = autor;<br />}<br />public String getTitulo() {<br />return titulo;<br />}<br />public void setPersona(Persona p2) {<br />this.persona = p2;<br />}<br />public Persona getPersona() {<br />return this.persona;<br />}<br />public String toString() {<br />String disponible;<br />if(this.getPersona() == null){<br />disponible = quot;
Disponiblequot;
;<br />}<br />else{<br />disponible = quot;
Prestado a quot;
 + this.getPersona().getNombre();<br />}<br />return this.getTitulo() + quot;
 por quot;
 + this.getAutor() + quot;
; quot;
 + disponible;<br />}<br />}<br />JUnit Test – CLASE LIBRO<br />package org.proyecto;<br />import junit.framework.TestCase;<br />public class LibroPrueba extends TestCase {<br />public void testLibro() {<br />Libro b1 = new Libro(quot;
El calculoquot;
);<br />assertEquals(quot;
El calculoquot;
, b1.titulo);<br />assertEquals(quot;
autor desconocidoquot;
, b1.autor);<br />}<br />public void testGetPersona() {<br />Libro b2 = new Libro(quot;
Sistemas digitalesquot;
);<br />Persona p2 = new Persona();<br />p2.setNombre(quot;
Carlosquot;
);<br />// metodo para indicar que libro se presta a que persona<br />b2.setPersona(p2);<br />// obtener el nombre de la persona que tiene el libro<br />String testNombre = b2.getPersona().getNombre();<br />assertEquals(quot;
Carlosquot;
, testNombre);<br />}<br />public void testToString() {<br />Libro b2 = new Libro(quot;
Sistemas digitalesquot;
);<br />Persona p2 = new Persona();<br />p2.setNombre(quot;
Carlosquot;
);<br />assertEquals(quot;
Sistemas digitales por autor desconocido; Disponiblequot;
, b2.toString());<br />b2.setPersona(p2);<br />assertEquals(quot;
Sistemas digitales por autor desconocido; Prestado a Carlosquot;
, b2.toString());<br />}<br />}<br />CLASE PERSONA<br />package org.proyecto;<br />public class Persona {<br />// campos<br />private String nombre; // nombre de la persona<br />private int librosMaximos; // libros que puede pedir la persona<br />// constructores<br />public Persona() {<br />nombre = quot;
nombre desconocidoquot;
;<br />librosMaximos = 3;<br />}<br />// metodos<br />public String getNombre() {<br />return nombre;<br />}<br />public void setNombre(String cualquierNombre) {<br />nombre = cualquierNombre;<br />}<br />public int getLibrosMaximos() {<br />return librosMaximos;<br />}<br />public void setLibrosMaximos(int librosMaximos) {<br />this.librosMaximos = librosMaximos;<br />}<br />public String toString() {<br />return this.getNombre() + quot;
 (quot;
 + this.getLibrosMaximos() + quot;
 libros)quot;
;<br />}<br />}<br />JUnit Test – CLASE PERSONA<br />package org.proyecto;<br />import junit.framework.TestCase;<br />public class PersonaPrueba extends TestCase {<br />public void testPersona() {<br />Persona p1 = new Persona();<br />assertEquals(quot;
nombre desconocidoquot;
, p1.getNombre());<br />assertEquals(3, p1.getLibrosMaximos());<br />}<br />public void testSetNombre() {<br />Persona p2 = new Persona();<br />p2.setNombre(quot;
Franciscoquot;
);<br />assertEquals(quot;
Franciscoquot;
, p2.getNombre());<br />}<br />public void testSetLibrosMaximos() {<br />Persona p3 = new Persona();<br />p3.setLibrosMaximos(10);<br />assertEquals(10, p3.getLibrosMaximos());<br />}<br />public void testToString() {<br />Persona p4 = new Persona();<br />p4.setNombre(quot;
Francisco Saucedaquot;
);<br />p4.setLibrosMaximos(7);<br />String testString = quot;
Francisco Sauceda (7 libros)quot;
;<br />assertEquals(testString, p4.toString());<br />}<br />}<br />CLASE BIBLIOTECA<br />package org.proyecto;<br />import java.util.ArrayList;<br />public class MiBiblioteca {<br />String nombre;<br />ArrayList<Libro> libros;<br />ArrayList<Persona> gente;<br />public MiBiblioteca(String nombre) {<br />this.nombre = nombre;<br />libros = new ArrayList<Libro>();<br />gente = new ArrayList<Persona>();<br />}<br />public String getNombre() {<br />return nombre;<br />}<br />public ArrayList<Libro> getLibros() {<br />return libros;<br />}<br />public ArrayList<Persona> getGente() {<br />return gente;<br />}<br />public void agregarLibro(Libro b1) {<br />this.libros.add(b1);<br />}<br />public void quitarLibro(Libro b1) {<br />this.libros.remove(b1);<br />}<br />public void agregarPersona(Persona p1) {<br />this.gente.add(p1);<br />}<br />public void quitarPersona(Persona p1) {<br />this.gente.remove(p1);<br />}<br />public boolean prestamo(Libro b1, Persona p1) {<br />int librosPrestados = this.getLibrosDePersona(p1).size();<br />if ((b1.getPersona() == null) && <br />(librosPrestados < p1.getLibrosMaximos())){<br />b1.setPersona(p1);<br />return true;<br />}<br />else{<br />return false;<br />}<br />}<br />public boolean devolucion(Libro b1) {<br />if (b1.getPersona() != null){<br />b1.setPersona(null);<br />return true;<br />}<br />else{<br />return false;<br />}<br />}<br />public ArrayList<Libro> getLibrosDePersona(Persona p1) {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if((unLibro.getPersona() != null) && <br />(unLibro.getPersona().getNombre().equals(p1.getNombre())))<br />{<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public ArrayList<Libro> getLibrosDisponibles() {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if(unLibro.getPersona() == null){<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public ArrayList<Libro> getLibrosNoDisponibles() {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if(unLibro.getPersona() != null){<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public String toString() {<br />return this.getNombre() + quot;
: quot;
 + this.getLibros().size() + quot;
 libros; quot;
 +<br />this.getGente().size() + quot;
 personas.quot;
;<br />}<br />public static void main(String[] args) {<br />// creando una nueva MiBiblioteca<br />MiBiblioteca pruebaBiblioteca = new MiBiblioteca(quot;
Prueba de Bibliotecaquot;
);<br />Libro b1 = new Libro(quot;
El calculoquot;
);<br />Libro b2 = new Libro(quot;
Sistemas digitalesquot;
);<br />b1.setAutor(quot;
Leitholdquot;
);<br />b2.setAutor(quot;
Tocciquot;
);<br />Persona jaime = new Persona();<br />Persona susan = new Persona();<br />jaime.setNombre(quot;
Jaimequot;
);<br />susan.setNombre(quot;
Susanquot;
);<br />pruebaBiblioteca.agregarLibro(b1);<br />pruebaBiblioteca.agregarLibro(b2);<br />pruebaBiblioteca.agregarPersona(jaime);<br />pruebaBiblioteca.agregarPersona(susan);<br />System.out.println(quot;
Creando una nueva Bibliotecaquot;
);<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println(quot;
Prestando El calculo a Susanquot;
);<br />pruebaBiblioteca.prestamo(b1, susan);<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println(quot;
Haciendo otras cosasquot;
);<br />pruebaBiblioteca.devolucion(b1);<br />pruebaBiblioteca.prestamo(b2, jaime);<br />pruebaBiblioteca.imprimirEstado();<br />}<br />private void imprimirEstado() {<br />System.out.println(quot;
Reporte de estado de MiBiblioteca quot;
 + this.toString());<br />for (Libro esteLibro : this.getLibros()) {<br />System.out.println(esteLibro);<br />}<br />for (Persona p : this.getGente()) {<br />int contador = this.getLibrosDePersona(p).size();<br />System.out.println(p + quot;
 (tiene quot;
 + contador + quot;
 de mis libros)quot;
);<br />}<br />System.out.println(quot;
Libros Disponibles: quot;
<br />+ this.getLibrosDisponibles().size());<br />System.out.println(quot;
--- Fin del reporte ---quot;
);<br />}<br />}<br />JUnit Test – CLASE BIBLIOTECA<br />package org.proyecto;<br />import java.util.ArrayList;<br />import junit.framework.TestCase;<br />public class MiBibliotecaPrueba extends TestCase {<br />private Libro b1;<br />private Libro b2;<br />private Persona p1;<br />private Persona p2;<br />private MiBiblioteca mb;<br />// constructor prueba<br />public void testMiBiblioteca() {<br />MiBiblioteca mb = new MiBiblioteca(quot;
Pruebaquot;
);<br />assertEquals(quot;
Pruebaquot;
, mb.nombre);<br />assertTrue(mb.libros instanceof ArrayList);<br />assertTrue(mb.gente instanceof ArrayList);<br />}<br />public void setup() {<br />b1 = new Libro(quot;
Libro1quot;
);<br />b2 = new Libro(quot;
Libro2quot;
);<br />p1 = new Persona();<br />p2 = new Persona();<br />p1.setNombre(quot;
Franciscoquot;
);<br />p2.setNombre(quot;
Susanquot;
);<br />mb = new MiBiblioteca(quot;
Pruebaquot;
);<br />}<br />public void testAgregarLibro() {<br />// crear objetos de prueba<br />setup();<br />// tamaño inicial es 0<br />assertEquals(0, mb.getLibros().size());<br />mb.agregarLibro(b1);<br />mb.agregarLibro(b2);<br />assertEquals(2, mb.getLibros().size());<br />assertEquals(0, mb.getLibros().indexOf(b1));<br />assertEquals(1, mb.getLibros().indexOf(b2));<br />mb.quitarLibro(b1);<br />assertEquals(1, mb.getLibros().size());<br />assertEquals(0, mb.getLibros().indexOf(b2));<br />mb.quitarLibro(b2);<br />assertEquals(0, mb.getLibros().size());<br />}<br />public void testPrestamo() {<br />// poner objetos<br />setup();<br />agregarItems();<br />assertTrue(quot;
El libro no se prestó correctamentequot;
, mb.prestamo(b1,p1));<br />assertEquals(quot;
Franciscoquot;
, b1.getPersona().getNombre());<br />assertFalse(quot;
El libro ya ha sido prestadoquot;
, mb.prestamo(b1,p2));<br />assertTrue(quot;
Fallo en devolución del libroquot;
, mb.devolucion(b1));<br />assertFalse(quot;
El libro ya ha sido devueltoquot;
, mb.devolucion(b1));<br />assertFalse(quot;
El libro no ha sido prestadoquot;
, mb.devolucion(b2));<br />// prueba adicional para los libros máximos<br />setup();<br />p1.setLibrosMaximos(1);<br />agregarItems();<br />assertTrue(quot;
El primer libro no ha sido prestadoquot;
, mb.prestamo(b2, p1));<br />assertFalse(quot;
El segundo libro no se ha prestadoquot;
, mb.prestamo(b1, p1));<br />}<br />private void agregarItems() {<br />mb.agregarLibro(b1);<br />mb.agregarLibro(b2);<br />mb.agregarPersona(p1);<br />mb.agregarPersona(p2);<br />}<br />public void testGetLibrosDePersona() {<br />setup();<br />agregarItems();<br />assertEquals(0, mb.getLibrosDePersona(p1).size());<br />mb.prestamo(b1, p1);<br />ArrayList<Libro> pruebaLibros = mb.getLibrosDePersona(p1);<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b1));<br />mb.prestamo(b2, p1);<br />pruebaLibros = mb.getLibrosDePersona(p1);<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />}<br />public void testGetLibrosDisponibles() {<br />setup();<br />agregarItems();<br />ArrayList<Libro> pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />mb.prestamo(b1, p1);<br />pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b2));<br />mb.prestamo(b2, p1);<br />pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(0, pruebaLibros.size());<br />}<br />public void testGetLibrosNoDisponibles() {<br />setup();<br />agregarItems();<br />assertEquals(0, mb.getLibrosNoDisponibles().size());<br />mb.prestamo(b1, p1);<br />ArrayList<Libro> pruebaLibros = mb.getLibrosNoDisponibles();<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b1));<br />mb.prestamo(b2, p2);<br />pruebaLibros = mb.getLibrosNoDisponibles();<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />}<br />public void testToString() {<br />setup();<br />agregarItems();<br />assertEquals(quot;
Prueba: 2 libros; 2 personas.quot;
, mb.toString());<br />}<br />}<br />JUnit Test – TODAS LAS PRUEBAS<br />package org.proyecto;<br />import junit.framework.Test;<br />import junit.framework.TestSuite;<br />public class AllTests {<br />public static Test suite() {<br />TestSuite suite = new TestSuite(quot;
Test for org.proyectoquot;
);<br />//$JUnit-BEGIN$<br />suite.addTestSuite(PersonaPrueba.class);<br />suite.addTestSuite(LibroPrueba.class);<br />suite.addTestSuite(MiBibliotecaPrueba.class);<br />//$JUnit-END$<br />return suite;<br />}<br />}<br />CAPTURA DE LA EJECUCIÓN<br />
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias
Semana 11   pruebas unitarias

Más contenido relacionado

Similar a Semana 11 pruebas unitarias

Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeansedgar muñoz
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01cursobeta
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3Juan Cardona
 
Poo 4 arraylist_implem
Poo 4 arraylist_implemPoo 4 arraylist_implem
Poo 4 arraylist_implemjlmanmons
 
Filas con listas doblemente enlazadas
Filas con listas doblemente enlazadasFilas con listas doblemente enlazadas
Filas con listas doblemente enlazadasMoni Zapata
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectoresJose Diaz Silva
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datosjubacalo
 
Groovy no es java sin punto y coma v3
Groovy no es java sin punto y coma v3Groovy no es java sin punto y coma v3
Groovy no es java sin punto y coma v3Pablo Alba
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classesflekoso
 

Similar a Semana 11 pruebas unitarias (10)

Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3
 
Poo 4 arraylist_implem
Poo 4 arraylist_implemPoo 4 arraylist_implem
Poo 4 arraylist_implem
 
Filas con listas doblemente enlazadas
Filas con listas doblemente enlazadasFilas con listas doblemente enlazadas
Filas con listas doblemente enlazadas
 
Public class implmusiempres implements musica
Public class implmusiempres implements musicaPublic class implmusiempres implements musica
Public class implmusiempres implements musica
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Groovy no es java sin punto y coma v3
Groovy no es java sin punto y coma v3Groovy no es java sin punto y coma v3
Groovy no es java sin punto y coma v3
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classes
 

Más de TerryJoss

Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidosTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesTerryJoss
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto bibliotecaTerryJoss
 

Más de TerryJoss (9)

Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidos
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Memento
MementoMemento
Memento
 
Facade
FacadeFacade
Facade
 
Prototype
PrototypePrototype
Prototype
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
 

Último

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 

Último (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 

Semana 11 pruebas unitarias

  • 1. CLASE LIBRO<br />package org.proyecto;<br />public class Libro {<br />String titulo;<br />String autor;<br />Persona persona;<br />public Libro(String string) {<br />this.titulo = string;<br />this.autor = quot; autor desconocidoquot; ;<br />}<br />public String getAutor() {<br />return autor;<br />}<br />public void setAutor(String autor) {<br />this.autor = autor;<br />}<br />public String getTitulo() {<br />return titulo;<br />}<br />public void setPersona(Persona p2) {<br />this.persona = p2;<br />}<br />public Persona getPersona() {<br />return this.persona;<br />}<br />public String toString() {<br />String disponible;<br />if(this.getPersona() == null){<br />disponible = quot; Disponiblequot; ;<br />}<br />else{<br />disponible = quot; Prestado a quot; + this.getPersona().getNombre();<br />}<br />return this.getTitulo() + quot; por quot; + this.getAutor() + quot; ; quot; + disponible;<br />}<br />}<br />JUnit Test – CLASE LIBRO<br />package org.proyecto;<br />import junit.framework.TestCase;<br />public class LibroPrueba extends TestCase {<br />public void testLibro() {<br />Libro b1 = new Libro(quot; El calculoquot; );<br />assertEquals(quot; El calculoquot; , b1.titulo);<br />assertEquals(quot; autor desconocidoquot; , b1.autor);<br />}<br />public void testGetPersona() {<br />Libro b2 = new Libro(quot; Sistemas digitalesquot; );<br />Persona p2 = new Persona();<br />p2.setNombre(quot; Carlosquot; );<br />// metodo para indicar que libro se presta a que persona<br />b2.setPersona(p2);<br />// obtener el nombre de la persona que tiene el libro<br />String testNombre = b2.getPersona().getNombre();<br />assertEquals(quot; Carlosquot; , testNombre);<br />}<br />public void testToString() {<br />Libro b2 = new Libro(quot; Sistemas digitalesquot; );<br />Persona p2 = new Persona();<br />p2.setNombre(quot; Carlosquot; );<br />assertEquals(quot; Sistemas digitales por autor desconocido; Disponiblequot; , b2.toString());<br />b2.setPersona(p2);<br />assertEquals(quot; Sistemas digitales por autor desconocido; Prestado a Carlosquot; , b2.toString());<br />}<br />}<br />CLASE PERSONA<br />package org.proyecto;<br />public class Persona {<br />// campos<br />private String nombre; // nombre de la persona<br />private int librosMaximos; // libros que puede pedir la persona<br />// constructores<br />public Persona() {<br />nombre = quot; nombre desconocidoquot; ;<br />librosMaximos = 3;<br />}<br />// metodos<br />public String getNombre() {<br />return nombre;<br />}<br />public void setNombre(String cualquierNombre) {<br />nombre = cualquierNombre;<br />}<br />public int getLibrosMaximos() {<br />return librosMaximos;<br />}<br />public void setLibrosMaximos(int librosMaximos) {<br />this.librosMaximos = librosMaximos;<br />}<br />public String toString() {<br />return this.getNombre() + quot; (quot; + this.getLibrosMaximos() + quot; libros)quot; ;<br />}<br />}<br />JUnit Test – CLASE PERSONA<br />package org.proyecto;<br />import junit.framework.TestCase;<br />public class PersonaPrueba extends TestCase {<br />public void testPersona() {<br />Persona p1 = new Persona();<br />assertEquals(quot; nombre desconocidoquot; , p1.getNombre());<br />assertEquals(3, p1.getLibrosMaximos());<br />}<br />public void testSetNombre() {<br />Persona p2 = new Persona();<br />p2.setNombre(quot; Franciscoquot; );<br />assertEquals(quot; Franciscoquot; , p2.getNombre());<br />}<br />public void testSetLibrosMaximos() {<br />Persona p3 = new Persona();<br />p3.setLibrosMaximos(10);<br />assertEquals(10, p3.getLibrosMaximos());<br />}<br />public void testToString() {<br />Persona p4 = new Persona();<br />p4.setNombre(quot; Francisco Saucedaquot; );<br />p4.setLibrosMaximos(7);<br />String testString = quot; Francisco Sauceda (7 libros)quot; ;<br />assertEquals(testString, p4.toString());<br />}<br />}<br />CLASE BIBLIOTECA<br />package org.proyecto;<br />import java.util.ArrayList;<br />public class MiBiblioteca {<br />String nombre;<br />ArrayList<Libro> libros;<br />ArrayList<Persona> gente;<br />public MiBiblioteca(String nombre) {<br />this.nombre = nombre;<br />libros = new ArrayList<Libro>();<br />gente = new ArrayList<Persona>();<br />}<br />public String getNombre() {<br />return nombre;<br />}<br />public ArrayList<Libro> getLibros() {<br />return libros;<br />}<br />public ArrayList<Persona> getGente() {<br />return gente;<br />}<br />public void agregarLibro(Libro b1) {<br />this.libros.add(b1);<br />}<br />public void quitarLibro(Libro b1) {<br />this.libros.remove(b1);<br />}<br />public void agregarPersona(Persona p1) {<br />this.gente.add(p1);<br />}<br />public void quitarPersona(Persona p1) {<br />this.gente.remove(p1);<br />}<br />public boolean prestamo(Libro b1, Persona p1) {<br />int librosPrestados = this.getLibrosDePersona(p1).size();<br />if ((b1.getPersona() == null) && <br />(librosPrestados < p1.getLibrosMaximos())){<br />b1.setPersona(p1);<br />return true;<br />}<br />else{<br />return false;<br />}<br />}<br />public boolean devolucion(Libro b1) {<br />if (b1.getPersona() != null){<br />b1.setPersona(null);<br />return true;<br />}<br />else{<br />return false;<br />}<br />}<br />public ArrayList<Libro> getLibrosDePersona(Persona p1) {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if((unLibro.getPersona() != null) && <br />(unLibro.getPersona().getNombre().equals(p1.getNombre())))<br />{<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public ArrayList<Libro> getLibrosDisponibles() {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if(unLibro.getPersona() == null){<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public ArrayList<Libro> getLibrosNoDisponibles() {<br />ArrayList<Libro> resultado = new ArrayList<Libro>();<br />for (Libro unLibro : this.getLibros()) {<br />if(unLibro.getPersona() != null){<br />resultado.add(unLibro);<br />}<br />}<br />return resultado;<br />}<br />public String toString() {<br />return this.getNombre() + quot; : quot; + this.getLibros().size() + quot; libros; quot; +<br />this.getGente().size() + quot; personas.quot; ;<br />}<br />public static void main(String[] args) {<br />// creando una nueva MiBiblioteca<br />MiBiblioteca pruebaBiblioteca = new MiBiblioteca(quot; Prueba de Bibliotecaquot; );<br />Libro b1 = new Libro(quot; El calculoquot; );<br />Libro b2 = new Libro(quot; Sistemas digitalesquot; );<br />b1.setAutor(quot; Leitholdquot; );<br />b2.setAutor(quot; Tocciquot; );<br />Persona jaime = new Persona();<br />Persona susan = new Persona();<br />jaime.setNombre(quot; Jaimequot; );<br />susan.setNombre(quot; Susanquot; );<br />pruebaBiblioteca.agregarLibro(b1);<br />pruebaBiblioteca.agregarLibro(b2);<br />pruebaBiblioteca.agregarPersona(jaime);<br />pruebaBiblioteca.agregarPersona(susan);<br />System.out.println(quot; Creando una nueva Bibliotecaquot; );<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println(quot; Prestando El calculo a Susanquot; );<br />pruebaBiblioteca.prestamo(b1, susan);<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println(quot; Haciendo otras cosasquot; );<br />pruebaBiblioteca.devolucion(b1);<br />pruebaBiblioteca.prestamo(b2, jaime);<br />pruebaBiblioteca.imprimirEstado();<br />}<br />private void imprimirEstado() {<br />System.out.println(quot; Reporte de estado de MiBiblioteca quot; + this.toString());<br />for (Libro esteLibro : this.getLibros()) {<br />System.out.println(esteLibro);<br />}<br />for (Persona p : this.getGente()) {<br />int contador = this.getLibrosDePersona(p).size();<br />System.out.println(p + quot; (tiene quot; + contador + quot; de mis libros)quot; );<br />}<br />System.out.println(quot; Libros Disponibles: quot; <br />+ this.getLibrosDisponibles().size());<br />System.out.println(quot; --- Fin del reporte ---quot; );<br />}<br />}<br />JUnit Test – CLASE BIBLIOTECA<br />package org.proyecto;<br />import java.util.ArrayList;<br />import junit.framework.TestCase;<br />public class MiBibliotecaPrueba extends TestCase {<br />private Libro b1;<br />private Libro b2;<br />private Persona p1;<br />private Persona p2;<br />private MiBiblioteca mb;<br />// constructor prueba<br />public void testMiBiblioteca() {<br />MiBiblioteca mb = new MiBiblioteca(quot; Pruebaquot; );<br />assertEquals(quot; Pruebaquot; , mb.nombre);<br />assertTrue(mb.libros instanceof ArrayList);<br />assertTrue(mb.gente instanceof ArrayList);<br />}<br />public void setup() {<br />b1 = new Libro(quot; Libro1quot; );<br />b2 = new Libro(quot; Libro2quot; );<br />p1 = new Persona();<br />p2 = new Persona();<br />p1.setNombre(quot; Franciscoquot; );<br />p2.setNombre(quot; Susanquot; );<br />mb = new MiBiblioteca(quot; Pruebaquot; );<br />}<br />public void testAgregarLibro() {<br />// crear objetos de prueba<br />setup();<br />// tamaño inicial es 0<br />assertEquals(0, mb.getLibros().size());<br />mb.agregarLibro(b1);<br />mb.agregarLibro(b2);<br />assertEquals(2, mb.getLibros().size());<br />assertEquals(0, mb.getLibros().indexOf(b1));<br />assertEquals(1, mb.getLibros().indexOf(b2));<br />mb.quitarLibro(b1);<br />assertEquals(1, mb.getLibros().size());<br />assertEquals(0, mb.getLibros().indexOf(b2));<br />mb.quitarLibro(b2);<br />assertEquals(0, mb.getLibros().size());<br />}<br />public void testPrestamo() {<br />// poner objetos<br />setup();<br />agregarItems();<br />assertTrue(quot; El libro no se prestó correctamentequot; , mb.prestamo(b1,p1));<br />assertEquals(quot; Franciscoquot; , b1.getPersona().getNombre());<br />assertFalse(quot; El libro ya ha sido prestadoquot; , mb.prestamo(b1,p2));<br />assertTrue(quot; Fallo en devolución del libroquot; , mb.devolucion(b1));<br />assertFalse(quot; El libro ya ha sido devueltoquot; , mb.devolucion(b1));<br />assertFalse(quot; El libro no ha sido prestadoquot; , mb.devolucion(b2));<br />// prueba adicional para los libros máximos<br />setup();<br />p1.setLibrosMaximos(1);<br />agregarItems();<br />assertTrue(quot; El primer libro no ha sido prestadoquot; , mb.prestamo(b2, p1));<br />assertFalse(quot; El segundo libro no se ha prestadoquot; , mb.prestamo(b1, p1));<br />}<br />private void agregarItems() {<br />mb.agregarLibro(b1);<br />mb.agregarLibro(b2);<br />mb.agregarPersona(p1);<br />mb.agregarPersona(p2);<br />}<br />public void testGetLibrosDePersona() {<br />setup();<br />agregarItems();<br />assertEquals(0, mb.getLibrosDePersona(p1).size());<br />mb.prestamo(b1, p1);<br />ArrayList<Libro> pruebaLibros = mb.getLibrosDePersona(p1);<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b1));<br />mb.prestamo(b2, p1);<br />pruebaLibros = mb.getLibrosDePersona(p1);<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />}<br />public void testGetLibrosDisponibles() {<br />setup();<br />agregarItems();<br />ArrayList<Libro> pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />mb.prestamo(b1, p1);<br />pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b2));<br />mb.prestamo(b2, p1);<br />pruebaLibros = mb.getLibrosDisponibles();<br />assertEquals(0, pruebaLibros.size());<br />}<br />public void testGetLibrosNoDisponibles() {<br />setup();<br />agregarItems();<br />assertEquals(0, mb.getLibrosNoDisponibles().size());<br />mb.prestamo(b1, p1);<br />ArrayList<Libro> pruebaLibros = mb.getLibrosNoDisponibles();<br />assertEquals(1, pruebaLibros.size());<br />assertEquals(0, pruebaLibros.indexOf(b1));<br />mb.prestamo(b2, p2);<br />pruebaLibros = mb.getLibrosNoDisponibles();<br />assertEquals(2, pruebaLibros.size());<br />assertEquals(1, pruebaLibros.indexOf(b2));<br />}<br />public void testToString() {<br />setup();<br />agregarItems();<br />assertEquals(quot; Prueba: 2 libros; 2 personas.quot; , mb.toString());<br />}<br />}<br />JUnit Test – TODAS LAS PRUEBAS<br />package org.proyecto;<br />import junit.framework.Test;<br />import junit.framework.TestSuite;<br />public class AllTests {<br />public static Test suite() {<br />TestSuite suite = new TestSuite(quot; Test for org.proyectoquot; );<br />//$JUnit-BEGIN$<br />suite.addTestSuite(PersonaPrueba.class);<br />suite.addTestSuite(LibroPrueba.class);<br />suite.addTestSuite(MiBibliotecaPrueba.class);<br />//$JUnit-END$<br />return suite;<br />}<br />}<br />CAPTURA DE LA EJECUCIÓN<br />