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

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (16)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

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 />