/** * Initialize the fire controls. */ public void initializeFireControls() { fireControls = new HashMap<>(); FireControl fireControl = new FireControl(this); fireControls.put(FireControlType.Basic, fireControl); InfantryFireControl infantryFireControl = new InfantryFireControl(this); fireControls.put(FireControlType.Infantry, infantryFireControl); }
@Test public void testGetClusterAmmo() { // Test an ammo list with only 1 bin of cluster ammo. List<Mounted> testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoLB10XCluster); FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoLB10XCluster, testFireControl.getClusterAmmo(testAmmoList, mockLB10X, 5)); // Test an ammo list with only 1 bin of slug ammo. testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoLB10XSlug); testFireControl = new FireControl(mockPrincess); Assert.assertNull(testFireControl.getClusterAmmo(testAmmoList, mockLB10X, 5)); // Test with both loaded testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoLB10XCluster); testAmmoList.add(mockAmmoLB10XSlug); Assert.assertEquals(mockAmmoLB10XCluster, testFireControl.getClusterAmmo(testAmmoList, mockLB10X, 5)); }
@Test public void testGetAntiAirAmmo() { // Test an ammo list with only 1 bin. List<Mounted> testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoAC5Std); final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertNull(testFireControl.getAntiAirAmmo(testAmmoList, mockWeaponTypeAC5, 5)); // Add the flak ammo. testAmmoList.add(mockAmmoAC5Flak); Assert.assertEquals(mockAmmoAC5Flak, testFireControl.getAntiAirAmmo(testAmmoList, mockWeaponTypeAC5, 5)); // Test a list with 2 bins of standard and 0 flak ammo. testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoAC5Std); testAmmoList.add(mockAmmoAC5Std); Assert.assertNull(testFireControl.getAntiAirAmmo(testAmmoList, mockWeaponTypeAC5, 5)); // Test LBX weaponry. testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoLB10XCluster); testAmmoList.add(mockAmmoLB10XSlug); Assert.assertEquals(mockAmmoLB10XCluster, testFireControl.getAntiAirAmmo(testAmmoList, mockLB10X, 5)); }
final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoAc5Flechette, testFireControl.getAntiInfantryAmmo(testAmmoList, mockWeaponTypeAC5, 5));
final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoAc5Incendiary, testFireControl.getIncendiaryAmmo(testAmmoList, mockWeaponTypeAC5, 5));
FireControl testFireControl = new FireControl(mockPrincess); Assert.assertNull(testFireControl.getAntiVeeAmmo(testAmmoList, mockWeaponTypeAC5, 5, false)); testFireControl = new FireControl(mockPrincess); Assert.assertNull(testFireControl.getAntiVeeAmmo(testAmmoList, mockWeaponTypeAC5, 5, false));
Mockito.when(mockTarget.isMilitary()).thenReturn(true); testFireControl = Mockito.spy(new FireControl(mockPrincess)); Mockito.doReturn(mockShooterMoveMod) .when(testFireControl)
@Test public void testGetGeneralMmlAmmo() { // Test a list with just SRM ammo. List<Mounted> testAmmoList = new ArrayList<>(1); testAmmoList.add(mockAmmoSRM5); final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoSRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 6)); Assert.assertNull(testFireControl.getGeneralMmlAmmo(testAmmoList, 10)); // Test a list with just LRM ammo. testAmmoList = new ArrayList<>(1); testAmmoList.add(mockAmmoLRM5); Assert.assertEquals(mockAmmoLRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 10)); Assert.assertEquals(mockAmmoLRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 3)); // Test a list with both types of ammo. testAmmoList = new ArrayList<>(2); testAmmoList.add(mockAmmoLRM5); testAmmoList.add(mockAmmoSRM5); Assert.assertEquals(mockAmmoLRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 10)); Assert.assertEquals(mockAmmoLRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 6)); Assert.assertEquals(mockAmmoSRM5, testFireControl.getGeneralMmlAmmo(testAmmoList, 4)); }
Targetable mockTarget = Mockito.mock(BipedMech.class); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); final FireControl testFireControl = new FireControl(mockPrincess);
final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoAC5Std, testFireControl.getHardTargetAmmo(testAmmoList, mockWeaponTypeAC5, 5));
final FireControl testFireControl = new FireControl(mockPrincess); Assert.assertEquals(mockAmmoAtm5He, testFireControl.getAtmAmmo(testAmmoList, 5, mockTargetState, false)); Assert.assertNull(testFireControl.getAtmAmmo(testAmmoList, 15, mockTargetState, false));