package nl.tudelft.bw4t.environmentstore.editor.model; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import nl.tudelft.bw4t.map.Zone; import nl.tudelft.bw4t.map.Zone.Type; import org.junit.Test; /** * Test suite to cover everything from EnvironmentMap * that hasn't already been covered. * */ public class EnvironmentMapTest { private EnvironmentMap em = new EnvironmentMap(10, 10); @Test(expected = IllegalArgumentException.class) public void tooFewRowsTest() { em = new EnvironmentMap(0, 10); } @Test(expected = IllegalArgumentException.class) public void tooManyRowsTest() { em = new EnvironmentMap(101, 10); } @Test(expected = IllegalArgumentException.class) public void tooFewColsTest() { em = new EnvironmentMap(10, 0); } @Test(expected = IllegalArgumentException.class) public void tooManyColsTest() { em = new EnvironmentMap(10, 101); } @Test(expected = IllegalArgumentException.class) public void setZonesNullTest() { em.setZones(null); } @Test(expected = IllegalArgumentException.class) public void setZonesTooFewRowsTest() { em.setZones(new ZoneModel[1][10]); } @Test(expected = IllegalArgumentException.class) public void setZonesTooFewColsTest() { em.setZones(new ZoneModel[10][1]); } @Test public void setZonesNiceWeatherTest() { ZoneModel[][] zmarray = new ZoneModel[2][2]; ZoneModel zm = new ZoneModel(); for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { zmarray[i][j] = zm; } } em.setZones(zmarray); assertTrue(em.getZone(0, 0) == zm); } @Test(expected = NullPointerException.class) public void setZoneNullTest() { em.setZone(0, 0, null); } @Test public void isValidZoneTest() { assertFalse(em.isValidZone(-1, 0)); assertFalse(em.isValidZone(10, 0)); assertFalse(em.isValidZone(0, -1)); assertFalse(em.isValidZone(0, 10)); assertTrue(em.isValidZone(0, 0)); } @Test public void getSpawnCountTest() { ZoneModel zm1 = new ZoneModel(new Zone("Test", null, Type.CORRIDOR)); zm1.setStartZone(true); em = new EnvironmentMap(1, 1); em.setZone(0, 0, zm1); assertTrue(em.getSpawnCount() == 4); } }