use of pcgen.core.Domain in project pcgen by PCGen.
the class PCClassDomainTest method testSimple.
@Test
public void testSimple() throws PersistenceLayerException {
PCClass source = create(PCClass.class, "Source");
Domain granted = create(Domain.class, "Granted");
ParseResult result = token.parseToken(context, source, "Granted");
if (result != ParseResult.SUCCESS) {
result.printMessages();
fail("Test Setup Failed");
}
finishLoad();
assertEquals(0, domainFacet.getCount(id));
classFacet.addClass(id, source);
PCClass pcc = pc.getClassKeyed(source.getKeyName());
classFacet.setLevel(id, pcc, 1);
//TODO get rid of this using facets :)
DomainApplication.addDomainsUpToLevel(source, 1, pc);
assertEquals(1, domainFacet.getCount(id));
classFacet.setLevel(id, pcc, 2);
DomainApplication.addDomainsUpToLevel(source, 2, pc);
assertTrue(domainFacet.contains(id, granted));
assertEquals(1, domainFacet.getCount(id));
classFacet.setLevel(id, pcc, 1);
DomainApplication.removeDomainsForLevel(source, 2, pc);
assertEquals(1, domainFacet.getCount(id));
classFacet.setLevel(id, pcc, 0);
DomainApplication.removeDomainsForLevel(source, 1, pc);
pc.validateCharacterDomains();
classFacet.removeClass(id, source);
assertEquals(0, domainFacet.getCount(id));
}
use of pcgen.core.Domain in project pcgen by PCGen.
the class AbstractAddListTokenTest method testFromDomain.
@Test
public void testFromDomain() throws PersistenceLayerException {
Domain source = create(Domain.class, "Source");
PCClass pcc = create(PCClass.class, "Class");
T granted = createGrantedObject();
processToken(source);
assertEquals(0, getCount());
ClassSource classSource = new ClassSource(pcc);
domainFacet.add(id, source, classSource);
assertTrue(containsExpected(granted));
assertEquals(1, getCount());
domainFacet.remove(id, source, classSource);
assertEquals(0, getCount());
assertTrue(cleanedSideEffects());
}
use of pcgen.core.Domain in project pcgen by PCGen.
the class DomainFacetTest method getTypeObj.
@Override
protected Domain getTypeObj() {
Domain d = new Domain();
d.setName("Domain" + n++);
return d;
}
use of pcgen.core.Domain in project pcgen by PCGen.
the class CharacterFacadeImpl method removeDomain.
/**
* @see pcgen.core.facade.CharacterFacade#removeDomain(pcgen.core.facade.DomainFacade)
*/
@Override
public void removeDomain(DomainFacade domain) {
if (domains.removeElement(domain)) {
Domain dom = ((DomainFacadeImpl) domain).getRawObject();
DomainApplication.removeDomain(theCharacter, dom);
theCharacter.removeDomain(((DomainFacadeImpl) domain).getRawObject());
remainingDomains.set(theCharacter.getMaxCharacterDomains() - charDisplay.getDomainCount());
updateDomainTodo();
spellSupportFacade.refreshAvailableKnownSpells();
}
}
use of pcgen.core.Domain in project pcgen by PCGen.
the class DomainToken method parseTokenWithSeparator.
@Override
protected ParseResult parseTokenWithSeparator(LoadContext context, KitDeity kitDeity, String value) {
StringTokenizer pipeTok = new StringTokenizer(value, Constants.PIPE);
while (pipeTok.hasMoreTokens()) {
String tokString = pipeTok.nextToken();
CDOMSingleRef<Domain> ref = context.getReferenceContext().getCDOMReference(DOMAIN_CLASS, tokString);
kitDeity.addDomain(ref);
}
return ParseResult.SUCCESS;
}
Aggregations