Semana 11 pruebas unitarias

  • 641 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
641
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 = "autor desconocido";<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 = "Disponible";<br />}<br />else{<br />disponible = "Prestado a " + this.getPersona().getNombre();<br />}<br />return this.getTitulo() + " por " + this.getAutor() + "; " + 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("El calculo");<br />assertEquals("El calculo", b1.titulo);<br />assertEquals("autor desconocido", b1.autor);<br />}<br />public void testGetPersona() {<br />Libro b2 = new Libro("Sistemas digitales");<br />Persona p2 = new Persona();<br />p2.setNombre("Carlos");<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("Carlos", testNombre);<br />}<br />public void testToString() {<br />Libro b2 = new Libro("Sistemas digitales");<br />Persona p2 = new Persona();<br />p2.setNombre("Carlos");<br />assertEquals("Sistemas digitales por autor desconocido; Disponible", b2.toString());<br />b2.setPersona(p2);<br />assertEquals("Sistemas digitales por autor desconocido; Prestado a Carlos", 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 = "nombre desconocido";<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() + " (" + this.getLibrosMaximos() + " libros)";<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("nombre desconocido", p1.getNombre());<br />assertEquals(3, p1.getLibrosMaximos());<br />}<br />public void testSetNombre() {<br />Persona p2 = new Persona();<br />p2.setNombre("Francisco");<br />assertEquals("Francisco", 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("Francisco Sauceda");<br />p4.setLibrosMaximos(7);<br />String testString = "Francisco Sauceda (7 libros)";<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() + ": " + this.getLibros().size() + " libros; " +<br />this.getGente().size() + " personas.";<br />}<br />public static void main(String[] args) {<br />// creando una nueva MiBiblioteca<br />MiBiblioteca pruebaBiblioteca = new MiBiblioteca("Prueba de Biblioteca");<br />Libro b1 = new Libro("El calculo");<br />Libro b2 = new Libro("Sistemas digitales");<br />b1.setAutor("Leithold");<br />b2.setAutor("Tocci");<br />Persona jaime = new Persona();<br />Persona susan = new Persona();<br />jaime.setNombre("Jaime");<br />susan.setNombre("Susan");<br />pruebaBiblioteca.agregarLibro(b1);<br />pruebaBiblioteca.agregarLibro(b2);<br />pruebaBiblioteca.agregarPersona(jaime);<br />pruebaBiblioteca.agregarPersona(susan);<br />System.out.println("Creando una nueva Bibliotecan");<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println("Prestando El calculo a Susan");<br />pruebaBiblioteca.prestamo(b1, susan);<br />pruebaBiblioteca.imprimirEstado();<br />System.out.println("Haciendo otras cosas");<br />pruebaBiblioteca.devolucion(b1);<br />pruebaBiblioteca.prestamo(b2, jaime);<br />pruebaBiblioteca.imprimirEstado();<br />}<br />private void imprimirEstado() {<br />System.out.println("Reporte de estado de MiBiblioteca n" + 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 + " (tiene " + contador + " de mis libros)");<br />}<br />System.out.println("Libros Disponibles: "<br />+ this.getLibrosDisponibles().size());<br />System.out.println("--- Fin del reporte ---n");<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("Prueba");<br />assertEquals("Prueba", mb.nombre);<br />assertTrue(mb.libros instanceof ArrayList);<br />assertTrue(mb.gente instanceof ArrayList);<br />}<br />public void setup() {<br />b1 = new Libro("Libro1");<br />b2 = new Libro("Libro2");<br />p1 = new Persona();<br />p2 = new Persona();<br />p1.setNombre("Francisco");<br />p2.setNombre("Susan");<br />mb = new MiBiblioteca("Prueba");<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("El libro no se prestó correctamente", mb.prestamo(b1,p1));<br />assertEquals("Francisco", b1.getPersona().getNombre());<br />assertFalse("El libro ya ha sido prestado", mb.prestamo(b1,p2));<br />assertTrue("Fallo en devolución del libro", mb.devolucion(b1));<br />assertFalse("El libro ya ha sido devuelto", mb.devolucion(b1));<br />assertFalse("El libro no ha sido prestado", mb.devolucion(b2));<br />// prueba adicional para los libros máximos<br />setup();<br />p1.setLibrosMaximos(1);<br />agregarItems();<br />assertTrue("El primer libro no ha sido prestado", mb.prestamo(b2, p1));<br />assertFalse("El segundo libro no se ha prestado", 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("Prueba: 2 libros; 2 personas.", 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("Test for org.proyecto");<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 />