Vedere video: https://www.youtube.com/watch?v=CzE84s0W2ic&index=11&list=PLv6UtFrA7VEu4PtzJaGHHSeZBi6mdJtwv Aggiungiamo altri metodi alla MyLibrary, sempre con il Test First Approach. Ecco cosa vogliamo:
- i getters per i campi (i setters non servono, perché i campi vengono settati quando creiamo gli oggetti;
- addBook, addPerson (metodi per aggiungere oggetti alla libreria)
- removeBook, removePerson (metodi per elimiare oggetti)
- checkOutBook, checkInBook (prestito e restituzione)
- getAvailableBooks
- getBooksForPerson
1 Lo facciamo in automatico. Source > Generate Getters and Setters > spuntiamo i tre getters. Lanciamo di nuovo il test per essere sicuri che vada tutto bene; 2 e 3 Abbiamo bisogno di creare alcuni oggetti da gestire, quindi creiamo un metodo setup() a posta per creare queste istanze senza fare duplicati (vedi codice). Attenzione: quando li creiamo sono variabili locali, quindi, una per volta, selezioniamo le dichiarazioni e Refactor > Convert Local Variable to Field. Ora le variabili sono disponibili per il test. Siamo pronti per creare testAddBook, in cui richiamiamo setup(). Facciamo alcune verifiche dell'addBook (ancora da creare) aggiungendo libri e removeBook (ancora da creare) togliendo libri e testando la size e gli indici (vedi codice). Con il quick fix creiamo questi metodi (vedi codice). Testiamo il tutto--> OK! Analogamente per addPerson e removePerson.