package ingsw.proj.cluedo.junittests;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import ingsw.proj.cluedo.componenti.Casella;
import ingsw.proj.cluedo.componenti.Pedina;
import ingsw.proj.cluedo.componenti.StanzeEnum;
import java.awt.Point;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class PedinaTest {
private Pedina pedina;
private Casella posizione;
private String nome;
@Before
public void setUp() throws Exception {
posizione = new Casella(StanzeEnum.CANTINA, new Point(3, 2));
nome = "CIAO";
pedina = new Pedina(posizione, nome);
}
@After
public void tearDown() throws Exception {
posizione = null;
nome = null;
pedina = null;
System.gc();
}
@Test
public void testCambiaPosizione() {
pedina.cambiaPosizione(posizione);
assertSame(pedina.getPosizione(), posizione);
pedina.cambiaPosizione(new Casella(StanzeEnum.CUCINA, new Point(4, 3)));
assertNotNull(pedina.getPosizione());
}
@Test(expected = NullPointerException.class)
public void testCambiaPosizioneNull() {
pedina.cambiaPosizione(null);
}
@Test
public void testGetNome() {
assertNotNull(pedina.getNome());
assertTrue(pedina.getNome() instanceof String);
}
@Test
public void testGetPosizione() {
assertNotNull(pedina.getPosizione());
assertTrue(pedina.getPosizione() instanceof Casella);
}
@Test
public void testGetStanza() {
assertNotNull(pedina.getStanza());
assertTrue(pedina.getStanza() instanceof StanzeEnum);
}
@Test
public void testPedina() {
assertTrue(pedina instanceof Pedina);
assertNotNull(pedina);
}
@Test(expected = NullPointerException.class)
public void testPedinaNull() {
new Pedina(null, nome);
new Pedina(posizione, null);
new Pedina(null, null);
}
}