Questo documento fa parte del materiale impacchettato nel file es01.jar
che si trova sul
sito di
Fondamenti di Informatica LB
La lista è un tipo di struttura dati fondamentale per gestire collezione lineari di oggetti.
La nostra software house ACME dispone di una implementazione object oriented di tale struttura dati:
la classe ACMEList
, il cui sorgente si trova nel package es01/src
(file ACMEList.java
),
la cui classe compilata è fornita nel package es01/build
(file ACMEList.class
) e la
cui documentazione è in es01/docs/apidocs
. In particolare la classe implementa liste di elementi di tipo intero.
Come descritto nella documentazione, la nostra lista fornisce metodi per inserire un elemento, chiedere quanti
elementi possiede attualmente (lunghezza della lista), svuotare completamente la lista.
E' fornito anche un componente software TestList
(sorgente es01/src/TestList.java
e
classe compilata es01/build/TestList.class
), il cui scopo è fare uno scarno testing della classe:
il programma crea un oggetto di classe ACMEList
e vi inserisce alcuni elementi mediante
una semplice iterazione.
L'obiettivo è allora costruire un componente software che faccia del testing più approfondito delle funzionalità
della classe fornita. Allo scopo si chiede di sviluppare un nuovo componente software eseguibile, di nome MyTest
,
che crei un oggetto lista e vi interagisca al fine di testare il comportamento dell'oggetto.
In particolare, il componente deve implementare seguenti passi elementari:
ACMEList
Vogliamo migliorare la classe fornita aggiungendo la funzionalità di ricerca di un elemento nella lista. In particolare vogliamo implementate un nuovo metodo che determini se un elemento sia presente nella lista rappresentata dall'oggetto. Una possibile signature del metodo è la seguente:
public boolean isPresent(int element)
ACMEList
, creare la classe
ACMEList2
(quindi sorgente ACMEList2.java
), copiando il sorgente della classe
ACMEList
e aggiungendo opportunamente il metodo isPresent
.
ACMEList
ed eventualmente prendere spunto
dal componente software TestList
fornito a corredo; TestList
: supponendo
di aver decompattato il materiale fornito con l'esercitazione, entrare nella directory es01
ed eseguire: java -cp build TestList
-cp build
informa la Java Virtual Machine
che il class path - ovvero la directory ove deve cercare le classi - è build
);ACMEList
, a partire dalla documentazione e commenti descritti
nel sorgente ACMEList.java
; es01/src/ACMEList.java
. Nel caso di sistemi operativi
della famiglia Windows il separatore da usare è "\".