MCPcopy Create free account
hub / github.com/PCGen/pcgen / testMultiFeats

Method testMultiFeats

code/src/test/pcgen/core/prereq/PreMultTest.java:135–215  ·  view source on GitHub ↗

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

()

Source from the content-addressed store, hash-verified

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");

Callers

nothing calls this directly

Calls 11

getConstantMethod · 0.95
setCDOMCategoryMethod · 0.95
getFeatCatMethod · 0.95
parseMethod · 0.95
passesMethod · 0.95
addToListForMethod · 0.65
setNameMethod · 0.65
putMethod · 0.65
addAbilityMethod · 0.65
removeAbilityMethod · 0.65
getCharacterMethod · 0.45

Tested by

no test coverage detected