Más contenido relacionado Similar a Semana 11 pruebas unitarias (10) Semana 11 pruebas unitarias1. 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 />