package nl.tudelft.bw4t.server.model.epartner; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import nl.tudelft.bw4t.map.NewMap; import nl.tudelft.bw4t.server.model.BW4TServerMap; import nl.tudelft.bw4t.server.model.epartners.EPartner; import nl.tudelft.bw4t.server.model.robots.AbstractRobot; import nl.tudelft.bw4t.server.model.robots.NavigatingRobot; import nl.tudelft.bw4t.server.model.robots.handicap.Human; import nl.tudelft.bw4t.server.model.robots.handicap.IRobot; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import repast.simphony.context.Context; import repast.simphony.space.continuous.ContinuousSpace; import repast.simphony.space.continuous.NdPoint; import repast.simphony.space.grid.Grid; @RunWith(MockitoJUnitRunner.class) public class EPartnerTest { @Mock private ContinuousSpace<Object> space; @Mock private Grid<Object> grid; @Mock private Context<Object> context; @Mock private NdPoint point; @Mock private NewMap map; private BW4TServerMap smap; @Before public void setup() { smap = spy(new BW4TServerMap(map, context)); when(smap.getContinuousSpace()).thenReturn(space); when(smap.getGridSpace()).thenReturn(grid); } /** * Test to check if a new human controlled Robot is constructed properly */ @Test public void humanControlledRobotTest() { IRobot r = new Human(new NavigatingRobot("", smap, true, 0)); assertFalse(r.isHoldingEPartner()); } /** * Test to check if a non-human controlled Robot can pickup an E-Partner. */ @Test public void nonHumanPickupEPartnerTest() { AbstractRobot r = new NavigatingRobot("", smap, true, 0); EPartner e = new EPartner("", smap); r.pickUpEPartner(e); assertFalse(r.isHoldingEPartner()); } /** * Test to check if a human controlled Robot can pickup an E-Partner */ @Test public void humanPickupEPartnerTest() { IRobot r = new Human(new NavigatingRobot("", smap, true, 0)); EPartner e = new EPartner("", smap); r.pickUpEPartner(e); assertTrue(r.isHoldingEPartner()); } }