Sviluppo Test Driven per un Table Model in Java

Da un po’ di tempo mi sto appassionando allo sviluppo Test Driven. Certamente è una buona metodologia anche se credo abbia una pecca, si applica male negli ambienti che si conoscono poco. Spesso sono chiamato a sviluppare in ambienti che devo esplorare mentre porto avanti il lavoro, in questi contesti sviluppare facendo prima i test è quasi impossibile. Oggi tanto per sfizio mi sono divertito a scrivere il test automatico per un Table Model in Java. Mi sono limitato a testare i metodi che più spesso si overaidano di AbstractTableModel

Lo sottopongo:

public class OggettiTableModelTest {

private Oggetto primo;
private Oggetto secondo;
private List<Oggetto> lista ;

public OggettiTableModelTest() {
}

@BeforeClass
public static void setUpClass() throws Exception {
}

@AfterClass
public static void tearDownClass() throws Exception {
}

@Before
public void setUp() {
primo = new Oggetto(“ma che dici?”);
secondo = new Oggetto(“secondo oggetto”);
lista = new ArrayList<Oggetto>();
lista.add(primo);
lista.add(secondo);
}

@After
public void tearDown() {
}

/**
* Test of getRowCount method, of class OggettiTableModel.
*/
@Test
public void testGetRowCount() {
System.out.println(“getRowCount”);
OggettiTableModel instance = new OggettiTableModel(lista);
int expResult = 2;
int result = instance.getRowCount();
assertEquals(expResult, result);
}

/**
* Test of getColumnCount method, of class OggettiTableModel.
*/
@Test
public void testGetColumnCount() {
System.out.println(“getColumnCount”);
OggettiTableModel instance = new OggettiTableModel(lista);
int expResult = 1;
int result = instance.getColumnCount();
assertEquals(expResult, result);
}

/**
* Test of getValueAt method, of class OggettiTableModel.
*/
@Test
public void testGetValueAt() {
System.out.println(“getValueAt”);
int rowIndex = 0;
int columnIndex = 0;
OggettiTableModel instance = new OggettiTableModel(lista);
Object expResult = “ma che dici?”;
Object result = instance.getValueAt(rowIndex, columnIndex);
assertEquals(expResult, result);
}

}

Immagino che i più esperti in TDD sicuramente facciano meglio di me spero che possa rislutare utile ai neofiti.

Nessun commento

Lascia un commento

La tua email non sarà mai resa pubblica.I campi obbligatori sono segnalati con un *