@Override protected MovePath calculateMoveTurn() { final String METHOD_NAME = "calculateMoveTurn()"; methodBegin(getClass(), METHOD_NAME); try { return continueMovementFor(getEntityToMove()); } finally { methodEnd(getClass(), METHOD_NAME); } }
@Test public void testGetEntityToMove() { Mockito.when(mockPrincess.getEntityToMove()).thenCallRealMethod(); Mockito.when(mockPrincess.isImmobilized(Mockito.any(Entity.class))).thenCallRealMethod(); testEntityList.add(mockTank); Mockito.when(mockPrincess.getEntitiesOwned()).thenReturn(testEntityList); Entity pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockBA, pickedEntity); pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockBA, pickedEntity); pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockTank, pickedEntity); pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockImmobileMech, pickedEntity); pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockEjectedMechwarrior, pickedEntity); Mockito.when(mockEjectedMechwarrior.isSelectableThisTurn()).thenReturn(false); Mockito.when(mockPrincess.calculateMoveIndex(mockMech, new StringBuilder())).thenReturn(0.0); pickedEntity = mockPrincess.getEntityToMove(); Assert.assertEquals(mockMech, pickedEntity); Mockito.when(mockBA.isSelectableThisTurn()).thenReturn(true); Mockito.when(mockEjectedMechwarrior.isSelectableThisTurn()).thenReturn(false); Mockito.when(mockPrincess.calculateMoveIndex(mockMech, new StringBuilder())).thenReturn(Double.MIN_VALUE);