Test to ensure that a number of feat test will correctly require a number of separate feats in any combination of two types. @throws PersistenceLayerException the persistence layer exception @throws PrerequisiteException the prerequisite exception
()
| 133 | * @throws PrerequisiteException the prerequisite exception |
| 134 | */ |
| 135 | @Test |
| 136 | public void testMultiFeats() throws PersistenceLayerException, PrerequisiteException |
| 137 | { |
| 138 | final Ability metamagic1 = new Ability(); |
| 139 | metamagic1.addToListFor(ListKey.TYPE, Type.getConstant("METAMAGIC")); |
| 140 | metamagic1.setName("MM1"); |
| 141 | metamagic1.put(StringKey.KEY_NAME, "MM1"); |
| 142 | metamagic1.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 143 | |
| 144 | final Ability metamagic2 = new Ability(); |
| 145 | metamagic2.addToListFor(ListKey.TYPE, Type.getConstant("METAMAGIC")); |
| 146 | metamagic2.setName("MM2"); |
| 147 | metamagic2.put(StringKey.KEY_NAME, "MM2"); |
| 148 | metamagic2.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 149 | |
| 150 | final Ability metamagic3 = new Ability(); |
| 151 | metamagic3.addToListFor(ListKey.TYPE, Type.getConstant("METAMAGIC")); |
| 152 | metamagic3.setName("MM3"); |
| 153 | metamagic3.put(StringKey.KEY_NAME, "MM3"); |
| 154 | metamagic3.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 155 | |
| 156 | final Ability item1 = new Ability(); |
| 157 | item1.addToListFor(ListKey.TYPE, Type.getConstant("ItemCreation")); |
| 158 | item1.setName("IC1"); |
| 159 | item1.put(StringKey.KEY_NAME, "IC1"); |
| 160 | item1.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 161 | |
| 162 | final Ability item2 = new Ability(); |
| 163 | item2.addToListFor(ListKey.TYPE, Type.getConstant("ItemCreation")); |
| 164 | item2.setName("IC2"); |
| 165 | item2.put(StringKey.KEY_NAME, "IC2"); |
| 166 | item2.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 167 | |
| 168 | final Ability item3 = new Ability(); |
| 169 | item3.addToListFor(ListKey.TYPE, Type.getConstant("ItemCreation")); |
| 170 | item3.setName("IC3"); |
| 171 | item3.put(StringKey.KEY_NAME, "IC3"); |
| 172 | item3.setCDOMCategory(BuildUtilities.getFeatCat()); |
| 173 | |
| 174 | final PlayerCharacter character = getCharacter(); |
| 175 | |
| 176 | final PreAbilityParser producer = new PreAbilityParser(); |
| 177 | |
| 178 | final Prerequisite prereq = |
| 179 | producer.parse("FEAT", "3,TYPE=Metamagic,TYPE=ItemCreation", |
| 180 | false, false); |
| 181 | |
| 182 | final PreMultTester test = new PreMultTester(); |
| 183 | int passes = test.passes(prereq, character, null); |
| 184 | assertEquals(0, passes, "No feats should not pass"); |
| 185 | |
| 186 | addAbility(BuildUtilities.getFeatCat(), metamagic1); |
| 187 | passes = test.passes(prereq, character, null); |
| 188 | assertEquals(0, passes, "One feat should not pass"); |
| 189 | |
| 190 | addAbility(BuildUtilities.getFeatCat(), metamagic2); |
| 191 | passes = test.passes(prereq, character, null); |
| 192 | assertEquals(0, passes, "Two feats should not pass"); |
nothing calls this directly
no test coverage detected