Test di una gerarchia con implementazioni multiple
se i sottotipi sono uno indipendente dall’altro, il testing è semplice perché non ci sono metodi extra e il comportamento dei metodi ereditati non cambia
quando i sottotipi non sono indipendenti occorre farne il test congiuntamente o simularne uno mentre si fa il test dell’altro
- implementazioni densa e sparsa di Poly
- supponiamo di voler fare il test di DensePoly
- dobbiamo tener conto del fatto che vari metodi di DensePoly fanno chiamate a metodi di SparsePoly
- nascono ulteriori test black-box che riguardano la giusta scelta di rappresentazione (sparsa o densa) ogni volta che si crea un nuovo Poly (come ad esempio nel metodo add)
- sono test black-box piuttosto che glass-box perché i criteri per la scelta sono parte delle specifiche del sottotipo