Lesson 15 – Java for Beginners

Vedere video: https://www.youtube.com/watch?v=kmMRGlEL0ws&index=15&list=PLv6UtFrA7VEu4PtzJaGHHSeZBi6mdJtwv

Continuiamo con i metodi che avevamo definito nelle specifiche. getAvailableBooks() ritorna la lista dei libri che non sono in prestito. Come al solito, scriviamo il testGetAvailableBooks() con le specifiche. Quindi mettiamo setup() e addItems() per creare un ambiente, poi creiamo una ArrayList<Book> testBooks = new ArrayList<Book>(); possiamo creare subito il getAvailableBooks() vuoto con il quick fix e andare avanti e indietro tra oggetto e test. Facciamo delle verifiche sulla lunghezza e sugli indici di questa lista di libri disponibili (vedi codice); poi facciamo un checkOut, settiamo di nuovo il testBook e di nuovo controlli di lunghezza e indici; e di nuovo per il secondo libro (vedi codice).

Ora possiamo scrivere il codice di getAvailableBooks(): creiamo una lista di libri che chiamiamo result, facciamo un ciclo for per controllare su tutti i libri della biblioteca se il campo person è null, nel qual caso si aggiunge a result. Alla fine, fuori dal loop, return result. Facciamo la verifica e funziona!

Altro metodo: getUnavailableBooks(). E molto simile al precedente. I controlli si aspetteranno inizialmente una lista vuota, poi, ad ogni checkOut, si riempirà. Creiamo poi il metodo con il quick fix, e copiamo il codice del metodo precedente modificando == in != nell’if. Facciamo il run JUnit ed è OK!

GLi ultimi metodi dono i toString() per Book() e MyLibrary(), perché per Person() lo avevamo già fatto.

Il toString di Book() deve ritornare il titolo, l’autore, il nome della persona a cui è in prestito oppure la scritta available (vedi codice).

Il toSTring di MyLibrary non può ritornare tutto l’elenco, perché potrebbe essere troppo lungo, contenendo centinaia o migliaia di libri e persone. Deve ritornare informazioni riassuntive (vedi codice.

I test passano. La prossima lezione vedremo come utilizzare le classi che abbiamo implementato in un programma Java.

Lascia un commento