Test di astrazioni polimorfe
quanti tipi di parametri diversi occorre introdurre nel test?
- ne basta uno solo, perché l’astrazione polimorfa è indipendente dal particolare tipo di parametro che si usa
se l’astrazione polimorfa usa un’interfaccia per esprimere vincoli sui metodi dei parametri si richiederanno extra test black-box per maneggiare oggetti non confrontabili
- per esempio i test di OrderedList includeranno il caso in cui si aggiunge un elemento di un tipo, ad esempio String, e poi si aggiunge un elemento di qualche tipo non confrontabile, ad esempio Integer
se l’astrazione polimorfa usa l’approccio del sottotipo collegato è sufficiente fare il test con un sottotipo dell’interfaccia insieme con il tipo di elemento collegato
- per esempio per SumSet potremmo fare il test con PolyAdder e Poly
in aggiunta dobbiamo fare il test di quelle chiamate i cui argomenti non sono oggetti del tipo collegato
- per esempio, il caso in cui si tenta di inserire una String in un SumSet che usa un PolyAdder