Test the skill pre reqs.
()
| 57 | * Test the skill pre reqs. |
| 58 | */ |
| 59 | @Test |
| 60 | public void testSkillPrereq() |
| 61 | { |
| 62 | LoadContext context = Globals.getContext(); |
| 63 | |
| 64 | final Skill rideSkill = new Skill(); |
| 65 | rideSkill.setName("Ride"); |
| 66 | rideSkill.put(StringKey.KEY_NAME, "Ride"); |
| 67 | rideSkill.addToListFor(ListKey.TYPE, Type.getConstant("DEX")); |
| 68 | context.getReferenceContext().importObject(rideSkill); |
| 69 | final Ability skillFocus = new Ability(); |
| 70 | skillFocus.setName("Skill Focus"); |
| 71 | skillFocus.put(StringKey.KEY_NAME, "Skill Focus"); |
| 72 | |
| 73 | final BonusObj saddleBonus = |
| 74 | Bonus.newBonus(context, "SKILL|Ride|-5|!PREITEM:1,TYPE.Saddle"); |
| 75 | rideSkill.addToListFor(ListKey.BONUS, saddleBonus); |
| 76 | |
| 77 | final Equipment saddle = new Equipment(); |
| 78 | saddle.setName("Saddle, Test"); |
| 79 | saddle.addToListFor(ListKey.TYPE, Type.getConstant("SADDLE")); |
| 80 | |
| 81 | finishLoad(); |
| 82 | |
| 83 | final PlayerCharacter pc = getCharacter(); |
| 84 | BonusActivation.activateBonuses(rideSkill, pc); |
| 85 | double iBonus = saddleBonus.resolve(pc, "").doubleValue(); |
| 86 | assertEquals(-5.0, iBonus, 0.05, "Bonus value"); |
| 87 | BonusObj appliedBonus = rideSkill.getListFor(ListKey.BONUS).get(0); |
| 88 | assertTrue(pc.isApplied(appliedBonus), "No saddle, should have a penalty"); |
| 89 | assertEquals(appliedBonus.toString(), saddleBonus.toString()); |
| 90 | |
| 91 | pc.addEquipment(saddle); |
| 92 | final EquipSet eqSet = new EquipSet("Test", "Test", "", saddle); |
| 93 | pc.addEquipSet(eqSet); |
| 94 | pc.calcActiveBonuses(); |
| 95 | BonusActivation.activateBonuses(rideSkill, pc); |
| 96 | assertFalse(pc |
| 97 | .isApplied(saddleBonus), "Saddle, should not have a penalty"); |
| 98 | } |
| 99 | |
| 100 | /** |
| 101 | * Test the processing of bonusing variables using both |
nothing calls this directly
no test coverage detected