package nl.tudelft.bw4t.server.model.robots; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; import nl.tudelft.bw4t.map.NewMap; import nl.tudelft.bw4t.server.model.BW4TServerMap; import repast.simphony.context.Context; import repast.simphony.space.continuous.ContinuousSpace; import repast.simphony.space.grid.Grid; @RunWith(MockitoJUnitRunner.class) @SuppressWarnings("unchecked") public class AbstractRobotTest { private ContinuousSpace<Object> space = Mockito.mock(ContinuousSpace.class); private Grid<Object> grid = Mockito.mock(Grid.class); private Context<Object> context = Mockito.mock(Context.class); private AbstractRobot bot; @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); int cap = 2; String name = "Bot1"; bot = new NavigatingRobot(name, smap, true, cap); } // can no do because no such field in navigatingrobot @Test public void getNameTest() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { assertEquals(bot.getName(), "Bot1"); } }