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

Method testWithChoose

code/src/utest/actor/add/AbilityTokenTest.java:99–191  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

97
98
99 @Test
100 public void testWithChoose()
101 {
102 setUpPC();
103 //Need to make sure we use the character related context
104 context = Globals.getContext();
105 context.getReferenceContext().importObject(BuildUtilities.getFeatCat());
106 TokenRegistration.register(ADD_TOKEN);
107 TokenRegistration.register(ADD_ABILITY_TOKEN);
108 Ability item = BuildUtilities.buildFeat(context, "ChooseAbility");
109 Ability parent = BuildUtilities.buildFeat(context, "Parent");
110 context.getReferenceContext().constructCDOMObject(Language.class, "Foo");
111 context.getReferenceContext().constructCDOMObject(Language.class, "Bar");
112 context.getReferenceContext().constructCDOMObject(Language.class, "Goo");
113 context.getReferenceContext().constructCDOMObject(Language.class, "Wow");
114 context.getReferenceContext().constructCDOMObject(Language.class, "Rev");
115 AbilityCategory ff = context.getReferenceContext()
116 .constructCDOMObject(AbilityCategory.class, "Fighter Feat");
117 ff.setAbilityCategory(CDOMDirectSingleRef.getRef(BuildUtilities.getFeatCat()));
118 AbilityCategory oc = context.getReferenceContext()
119 .constructCDOMObject(AbilityCategory.class, "Some Other Category");
120 Ability badCA = oc.newInstance();
121 badCA.setName("ChooseAbility");
122 context.getReferenceContext().importObject(badCA);
123 assertTrue(context.processToken(item, "CHOOSE", "LANG|Foo|Bar|Goo|Wow|Rev"));
124 assertTrue(context.processToken(item, "MULT", "Yes"));
125 assertTrue(context.processToken(badCA, "CHOOSE", "LANG|Foo|Bar|Goo|Wow|Rev"));
126 assertTrue(context.processToken(badCA, "MULT", "Yes"));
127 assertTrue(context.processToken(parent, "ADD", "ABILITY|FEAT|NORMAL|ChooseAbility"));
128 finishLoad(context);
129 PlayerCharacter pc = new PlayerCharacter();
130 Object source = UserSelection.getInstance();
131
132 CNAbilitySelection badCACAS = new CNAbilitySelection(
133 CNAbilityFactory.getCNAbility(oc, Nature.AUTOMATIC, badCA), "Foo");
134 CNAbilitySelection fooCAS = new CNAbilitySelection(CNAbilityFactory
135 .getCNAbility(BuildUtilities.getFeatCat(), Nature.AUTOMATIC, item), "Foo");
136 CNAbilitySelection barCAS = new CNAbilitySelection(CNAbilityFactory
137 .getCNAbility(BuildUtilities.getFeatCat(), Nature.VIRTUAL, item), "Bar");
138 CNAbilitySelection gooCAS = new CNAbilitySelection(CNAbilityFactory
139 .getCNAbility(BuildUtilities.getFeatCat(), Nature.NORMAL, item), "Goo");
140 CNAbilitySelection wowCAS = new CNAbilitySelection(CNAbilityFactory
141 .getCNAbility(BuildUtilities.getFeatCat(), Nature.NORMAL, item), "Wow");
142 CNAbilitySelection wowFFCAS = new CNAbilitySelection(
143 CNAbilityFactory.getCNAbility(ff, Nature.NORMAL, item), "Wow");
144 CNAbilitySelection revCAS = new CNAbilitySelection(CNAbilityFactory
145 .getCNAbility(BuildUtilities.getFeatCat(), Nature.NORMAL, item), "Rev");
146 CNAbilitySelection revFFCAS = new CNAbilitySelection(
147 CNAbilityFactory.getCNAbility(ff, Nature.NORMAL, item), "Rev");
148
149 assertTrue(PCA.allow(fooCAS, pc, false));
150 assertTrue(PCA.allow(barCAS, pc, false));
151 assertTrue(PCA.allow(gooCAS, pc, false));
152 assertTrue(PCA.allow(wowCAS, pc, false));
153 assertTrue(PCA.allow(revFFCAS, pc, false));
154 pc.applyAbility(badCACAS, source);
155 //Should have had no effect
156 assertTrue(PCA.allow(fooCAS, pc, false));

Callers

nothing calls this directly

Calls 15

getContextMethod · 0.95
getFeatCatMethod · 0.95
registerMethod · 0.95
buildFeatMethod · 0.95
setAbilityCategoryMethod · 0.95
getRefMethod · 0.95
newInstanceMethod · 0.95
getInstanceMethod · 0.95
getCNAbilityMethod · 0.95
applyAbilityMethod · 0.95
importObjectMethod · 0.80
constructCDOMObjectMethod · 0.80

Tested by

no test coverage detected