/** * Questa classe esegue alcuni test sul meotodo somma della classe SommaErrata, utilizzando * il sistem JUnit Jupyter (anche noto come JUnit 5). */ /** * Prima di tutto importiamo alcune classi che saranno richieste nello sviluppo * del test. */ import org.junit.jupiter.api.Test; /** * Poi importiamo anche alcuni metodi con un comando "import static". È la prima volta che vediamo questo * comando. In pratica, consente di utilizzare un metodo statico senza premettere prima la classe * dove viene definito. Ad esempio, normalmente per chiamare il metodo abs della classe Main dobbiamo * usare la notazione "Math.abs(n)". Se prima diamo il comando "import java.lang.Math.abs" possiamo invece * semplicemente scrivere "abs(n)"". */ import static org.junit.jupiter.api.Assertions.assertEquals; public class TestSomma { /** * Per ogni test, creiamo un metodo, in maniera molto simile a quanto facciamo * normalmente, ma con due eccezioni: * 1) l'intestazione del metodo NON HA la parola "static" * 2) prima della dichiarazione del metodo scriviamo "@Test" (in Java, questa si * chiama annotazione, ma la spiegazione dettagliata di cosa è una annotazione * esuola dal contenuto del corso) * * Questo test controlla gli input "normali". */ @Test public void test1() { double[] dati = { 2.1, 3.5 }; /** * Il metodo assertEquals (che abbiamo importato prima) confronta i due parametri in input. Se sono * uguali va tutto bene e prosegue l'esecuzione, altrimenti si interrompe segnalando l'errore nel test. * Ci sono tanti altri metodi oltre assertEquals, che potete trovare nella documentazione ufficiale di * JUnit, qui: * https://junit.org/junit5/docs/current/api/org.junit.jupiter.api/org/junit/jupiter/api/Assertions.html */ assertEquals(5.6, SommaErrata.somma(dati)); double[] dati2 = { 1.0, 2.0, 3.1 }; assertEquals(6.1, SommaErrata.somma(dati2)); } /** * Questo test controlla input che potremmo considerare casi limite, in particolare * il caso in cui l'input sia un array di lunghezza zero. */ @Test public void test2() { double[] dati = new double[0]; assertEquals(0.0, SommaErrata.somma(dati)); } }