Search in sources :

Example 61 with Domain

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));
}
Also used : ParseResult(pcgen.rules.persistence.token.ParseResult) PCClass(pcgen.core.PCClass) Domain(pcgen.core.Domain) Test(org.junit.Test) AbstractTokenModelTest(tokenmodel.testsupport.AbstractTokenModelTest)

Example 62 with Domain

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());
}
Also used : Domain(pcgen.core.Domain) PCClass(pcgen.core.PCClass) ClassSource(pcgen.cdom.helper.ClassSource) Test(org.junit.Test)

Example 63 with Domain

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;
}
Also used : Domain(pcgen.core.Domain)

Example 64 with Domain

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();
    }
}
Also used : Domain(pcgen.core.Domain)

Example 65 with Domain

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;
}
Also used : StringTokenizer(java.util.StringTokenizer) Domain(pcgen.core.Domain)

Aggregations

Domain (pcgen.core.Domain)79 PCClass (pcgen.core.PCClass)31 Test (org.junit.Test)19 ClassSource (pcgen.cdom.helper.ClassSource)18 ArrayList (java.util.ArrayList)11 CDOMSingleRef (pcgen.cdom.reference.CDOMSingleRef)10 Prerequisite (pcgen.core.prereq.Prerequisite)10 AssociatedPrereqObject (pcgen.cdom.base.AssociatedPrereqObject)8 CDOMReference (pcgen.cdom.base.CDOMReference)8 Deity (pcgen.core.Deity)7 Spell (pcgen.core.spell.Spell)7 AbstractTokenModelTest (tokenmodel.testsupport.AbstractTokenModelTest)7 StringTokenizer (java.util.StringTokenizer)6 Ability (pcgen.core.Ability)6 QualifiedObject (pcgen.core.QualifiedObject)6 ParseResult (pcgen.rules.persistence.token.ParseResult)6 TreeSet (java.util.TreeSet)5 PlayerCharacter (pcgen.core.PlayerCharacter)5 PCClassLevel (pcgen.cdom.inst.PCClassLevel)4 ClassSpellList (pcgen.cdom.list.ClassSpellList)4