@Override @Before public void setup() { super.setup(); engine = Mockito.mock(Engine.class); Mockito.when(engine.getFaction()).thenReturn(faction); Mockito.when(engine.getHardpointType()).thenReturn(HardPointType.NONE); Mockito.when(engine.getRating()).thenReturn(250); Mockito.when(engine.getType()).thenReturn(EngineType.XL); Mockito.when(engine.isCompatible(Matchers.any(Upgrades.class))).thenReturn(true); structureType = Mockito.mock(StructureUpgrade.class); armorType = Mockito.mock(ArmorUpgrade.class); heatSinkType = Mockito.mock(HeatSinkUpgrade.class); items = new HashMap<>(); components = new ComponentOmniMech[Location.values().length]; for (Location location : Location.values()) { items.put(location, new ArrayList<Item>()); components[location.ordinal()] = Mockito.mock(ComponentOmniMech.class); Mockito.when(components[location.ordinal()].isAllowed(Matchers.any(Item.class))) .thenReturn(true); Mockito.when( components[location.ordinal()].isAllowed( Matchers.any(Item.class), Matchers.any(Engine.class))) .thenReturn(true); Mockito.when(components[location.ordinal()].getFixedItems()).thenReturn(items.get(location)); } componentBases = components; items.get(Location.CenterTorso).add(engine); // Mockito.when(components[Location.Head.ordinal()].getArmorMax()).thenReturn(18); // Mockito.when(components[Location.LeftArm.ordinal()].getArmorMax()).thenReturn(48); // Mockito.when(components[Location.LeftTorso.ordinal()].getArmorMax()).thenReturn(64); // Mockito.when(components[Location.LeftLeg.ordinal()].getArmorMax()).thenReturn(64); // Mockito.when(components[Location.CenterTorso.ordinal()].getArmorMax()).thenReturn(92); // Mockito.when(components[Location.RightArm.ordinal()].getArmorMax()).thenReturn(48); // Mockito.when(components[Location.RightTorso.ordinal()].getArmorMax()).thenReturn(64); // Mockito.when(components[Location.RightLeg.ordinal()].getArmorMax()).thenReturn(64); Mockito.when(components[Location.Head.ordinal()].getDynamicArmorSlots()).thenReturn(1); Mockito.when(components[Location.CenterTorso.ordinal()].getDynamicArmorSlots()).thenReturn(1); Mockito.when(components[Location.LeftTorso.ordinal()].getDynamicArmorSlots()).thenReturn(3); Mockito.when(components[Location.RightArm.ordinal()].getDynamicArmorSlots()).thenReturn(2); Mockito.when(components[Location.LeftLeg.ordinal()].getDynamicStructureSlots()).thenReturn(1); Mockito.when(components[Location.RightTorso.ordinal()].getDynamicStructureSlots()) .thenReturn(1); Mockito.when(components[Location.LeftArm.ordinal()].getDynamicStructureSlots()).thenReturn(3); Mockito.when(components[Location.RightLeg.ordinal()].getDynamicStructureSlots()).thenReturn(2); Mockito.when(structureType.getExtraSlots()).thenReturn(7); Mockito.when(armorType.getExtraSlots()).thenReturn(7); }
@Test(expected = IllegalArgumentException.class) public final void testCtor_BadDynStructure() { Mockito.when(components[Location.Head.ordinal()].getDynamicStructureSlots()).thenReturn(13); new ChassisOmniMech( mwoID, mwoName, series, name, shortName, maxTons, variant, baseVariant, movementProfile, faction, components, maxPilotModules, maxConsumableModules, maxWeaponModules, structureType, armorType, heatSinkType); }