use of pcgen.core.Race in project pcgen by PCGen.
the class RacialSubTypesFacetTest method testGetFromRaceAndTemplate.
@Test
public void testGetFromRaceAndTemplate() {
Race r = new Race();
r.addToListFor(ListKey.RACESUBTYPE, TEST_RACE_TYPE);
rfacet.set(id, r);
assertList(facet.getRacialSubTypes(id), TEST_RACE_TYPE);
PCTemplate t = new PCTemplate();
t.addToListFor(ListKey.RACESUBTYPE, RACE_TYPE_TOO);
tfacet.add(id, t, this);
assertList(facet.getRacialSubTypes(id), TEST_RACE_TYPE, RACE_TYPE_TOO);
tfacet.remove(id, t, this);
assertList(facet.getRacialSubTypes(id), TEST_RACE_TYPE);
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RacialSubTypesFacetTest method testWithNothingInRace.
@Test
public void testWithNothingInRace() {
rfacet.set(id, new Race());
assertSubTypesEmpty();
}
use of pcgen.core.Race in project pcgen by PCGen.
the class RaceToken method parseNonEmptyToken.
@Override
protected ParseResult parseNonEmptyToken(LoadContext context, KitRace kitRace, String value) {
if (Constants.NONESELECTED.equals(value)) {
ComplexParseResult pr = new ComplexParseResult();
pr.addWarningMessage("NONESELECTED is not necessary in KIT RACE: " + "Token is not processed");
return pr;
}
CDOMSingleRef<Race> ref = context.getReferenceContext().getCDOMReference(RACE_CLASS, value);
kitRace.setRace(ref);
return ParseResult.SUCCESS;
}
use of pcgen.core.Race in project pcgen by PCGen.
the class SizeFacetTest method testGetFromTemplateHigherOverridesRace.
@Test
public void testGetFromTemplateHigherOverridesRace() {
Race r = new Race();
r.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(3));
rfacet.set(id, r);
PCTemplate t1 = new PCTemplate();
t1.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(4));
tfacet.add(id, t1, this);
facet.update(id);
assertEquals(4, facet.sizeInt(id));
tfacet.remove(id, t1, this);
facet.update(id);
assertEquals(3, facet.sizeInt(id));
}
use of pcgen.core.Race in project pcgen by PCGen.
the class SizeFacetTest method testGetAbbWithBonus.
@Test
public void testGetAbbWithBonus() {
assertEquals("M", facet.getSizeAbb(id));
facet.update(id);
assertEquals("M", facet.getSizeAbb(id));
Race r = new Race();
r.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(1));
rfacet.set(id, r);
facet.update(id);
assertEquals("S", facet.getSizeAbb(id));
bonusInfo.put(altid, 2.0);
// No pollution
facet.update(id);
assertEquals("S", facet.getSizeAbb(id));
bonusInfo.put(id, 2.0);
facet.update(id);
assertEquals("L", facet.getSizeAbb(id));
PCTemplate t1 = new PCTemplate();
t1.setName("PCT");
t1.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(0));
tfacet.add(id, t1, this);
facet.update(id);
assertEquals("M", facet.getSizeAbb(id));
PCTemplate t2 = new PCTemplate();
t2.setName("Other");
t2.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(3));
tfacet.add(id, t2, this);
facet.update(id);
assertEquals("H", facet.getSizeAbb(id));
tfacet.remove(id, t2, this);
facet.update(id);
assertEquals("M", facet.getSizeAbb(id));
bonusInfo.put(id, -2.0);
t1.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(1));
facet.update(id);
assertEquals("T", facet.getSizeAbb(id));
t2.put(FormulaKey.SIZE, FormulaFactory.getFormulaFor(4));
tfacet.add(id, t2, this);
facet.update(id);
assertEquals("M", facet.getSizeAbb(id));
tfacet.remove(id, t2, this);
facet.update(id);
assertEquals("T", facet.getSizeAbb(id));
bonusInfo.clear();
facet.update(id);
assertEquals("S", facet.getSizeAbb(id));
}
Aggregations