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 (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 distribuidos
TerryJoss
 
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
TerryJoss
 
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
TerryJoss
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
TerryJoss
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
TerryJoss
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
TerryJoss
 

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

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
241521559
 
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
 
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
FagnerLisboa3
 

Último (10)

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
 
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...
 
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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
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
 
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
 
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)
 

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