Vedere video: https://www.youtube.com/watch?v=po2wj0J21J4&index=8&list=PLv6UtFrA7VEu4PtzJaGHHSeZBi6mdJtwv Creiamo una RELAZIONE tra Book() e Person(), continuando a usare la metodologia Test First. Per far questo modifichiamo la classe di test BookTest(), aggiungendo il metodo testGetPerson(). In questo creiamo una nuova istanza di Book b2, passando direttamente tra parentesi il titolo "War And Peace" e creiamo una nuova istanza di Person p2, poi attribuiamo il nome "Elvis" tramite il setName (vedi codice). Ora dobbiamo scrivere il codice che attribuisce il libro b2 olla persona p2, che è i metodo che sarà testato, e che ancora non è definito nella classe Book(): b2.setPerson(p2); . Poi scriviamo il metodo che ritorna il nome della persona che ha il libro in prestito: possiamo usare due linee o una sola: due linee: Person testPerson = p2.getPerson(); String testName = testPerson.getName(); oppure una linea: String testName = p2.getPerson().getName(); Ora dobbiamo controllare l'eguaglianza con assertEquals("Elvis", testName); Adesso usiamo il Quick Fix per la classe Book: creiamo il metodo setPerson() (anche la dichiarazione del campo person). Nota: viene creato un campo di tipo Private. Private è un access modifiers. Ce ne sono quattro, qui ne vediamo tre: public: tutte le classi hanno accesso; private: solo questa classe in cui è dichiarato ha accesso; senza access modifier: possono accedere solo le classi dello stesso package. Quindi utilizziamo questo terzo caso e togliamo tutti gli access modifiers dalla dichiarazione dei campi. Il metodo setPerson(p2) è molto semplice: this.person = p2; Rifacciamo il test e non dà più errori. In questo caso si dice che la classe Book() dipende dalla classe Person(), perché la classe Person() è nominata dentro la classe Book(). La relazione è di tipo 1:1, perché ad un libro corrisponde uno ed una ed una sola persona. Notiamo che possiamo utilizzare person come ogni altra variabile, e non occorre nessun statement di import perché le due classi sono nello stesso package. Per eseguire tutti i test insieme creiamo una Test Suit Class, selezionando nel Package Explorer il folder "test", right click > New > Other > JUnit  Test Suit > si chiama AllTest ... next (tutti selezionati) finish.  Lo facciamo girare...OK!