Search in sources :

Example 6 with StringManager

use of pcgen.base.format.StringManager in project pcgen by PCGen.

the class FactSetKeyActorTest method testListKeyActor.

public void testListKeyActor() {
    Deity d = new Deity();
    d.setName("Bob");
    String expectedResult1 = "Magical";
    String expectedResult2 = "Long";
    df.set(id, d);
    d.addToListFor(ListKey.BOOK_TYPE, expectedResult1);
    d.addToListFor(ListKey.BOOK_TYPE, expectedResult2);
    StringManager mgr = new StringManager();
    FactSetKey<String> fsk = FactSetKey.getConstant("booktype", mgr);
    d.addToSetFor(fsk, new BasicIndirect<>(mgr, expectedResult1));
    d.addToSetFor(fsk, new BasicIndirect<>(mgr, expectedResult2));
    FactSetKeyActor<?> lka = new FactSetKeyActor<>(fsk);
    CDOMObjectWrapper.load(dsid, d.getClass(), "booktype", lka);
    processThroughFreeMarker("${deity.booktype[0]}", expectedResult1);
    processThroughFreeMarker("${deity.booktype[1]}", expectedResult2);
}
Also used : Deity(pcgen.core.Deity) StringManager(pcgen.base.format.StringManager)

Example 7 with StringManager

use of pcgen.base.format.StringManager in project pcgen by PCGen.

the class FactSetKeyActorTest method testSetJoined.

public void testSetJoined() {
    Deity d = new Deity();
    d.setName("Bob");
    String expectedResult1 = "Magical";
    String expectedResult2 = "Long";
    df.set(id, d);
    d.addToListFor(ListKey.BOOK_TYPE, expectedResult1);
    d.addToListFor(ListKey.BOOK_TYPE, expectedResult2);
    StringManager mgr = new StringManager();
    FactSetKey<String> fsk = FactSetKey.getConstant("booktype", mgr);
    d.addToSetFor(fsk, new BasicIndirect<>(mgr, expectedResult1));
    d.addToSetFor(fsk, new BasicIndirect<>(mgr, expectedResult2));
    FactSetKeyActor<?> lka = new FactSetKeyActor<>(fsk);
    CDOMObjectWrapper.load(dsid, d.getClass(), "booktype", lka);
    processThroughFreeMarker("${deity.booktype?join(\", \")!}", "Magical, Long");
}
Also used : Deity(pcgen.core.Deity) StringManager(pcgen.base.format.StringManager)

Example 8 with StringManager

use of pcgen.base.format.StringManager in project pcgen by PCGen.

the class BuildUtilities method createFact.

public static FactDefinition<?, String> createFact(LoadContext context, String factname, Class<? extends Loadable> cls) {
    FactDefinition<?, String> fd = new FactDefinition<>();
    fd.setUsableLocation(cls);
    fd.setName("*" + factname);
    fd.setFactName(factname);
    fd.setFormatManager(new StringManager());
    context.getReferenceContext().importObject(fd);
    return fd;
}
Also used : FactDefinition(pcgen.cdom.content.fact.FactDefinition) StringManager(pcgen.base.format.StringManager)

Example 9 with StringManager

use of pcgen.base.format.StringManager in project pcgen by PCGen.

the class PObjectTest method testGetPCCText.

/**
	 * Test the processing of getPCCText to ensure that it correctly produces
	 * an LST representation of an object and that the LST can then be reloaded
	 * to recrete the object.
	 *
	 * @throws PersistenceLayerException
	 */
public void testGetPCCText() throws PersistenceLayerException {
    OrderedPairManager opManager = new OrderedPairManager();
    LoadContext context = Globals.getContext();
    context.getVariableContext().assertLegalVariableID(context.getActiveScope().getLegalScope(), opManager, "Face");
    Race race = new Race();
    race.setName("TestRace");
    race.put(ObjectKey.CHALLENGE_RATING, new ChallengeRating(FormulaFactory.getFormulaFor(5)));
    String racePCCText = race.getPCCText();
    assertNotNull("PCC Text for race should not be null", racePCCText);
    GenericLoader<Race> raceLoader = new GenericLoader<>(Race.class);
    CampaignSourceEntry source;
    try {
        source = new CampaignSourceEntry(new Campaign(), new URI("file:/" + getClass().getName() + ".java"));
    } catch (URISyntaxException e) {
        throw new UnreachableError(e);
    }
    raceLoader.parseLine(context, null, racePCCText, source);
    Race reconstRace = context.getReferenceContext().silentlyGetConstructedCDOMObject(Race.class, "TestRace");
    assertEquals("getPCCText should be the same after being encoded and reloaded", racePCCText, reconstRace.getPCCText());
    assertEquals("Racial CR was not restored after saving and reloading.", race.get(ObjectKey.CHALLENGE_RATING), reconstRace.get(ObjectKey.CHALLENGE_RATING));
    FactKey.getConstant("Abb", new StringManager());
    PCClass aClass = new PCClass();
    aClass.setName("TestClass");
    String classPCCText = aClass.getPCCText();
    assertNotNull("PCC Text for race should not be null", racePCCText);
    PCClassLoader classLoader = new PCClassLoader();
    PCClass reconstClass = classLoader.parseLine(context, null, classPCCText, source);
    assertEquals("getPCCText should be the same after being encoded and reloaded", classPCCText, reconstClass.getPCCText());
    assertEquals("Class abbrev was not restored after saving and reloading.", aClass.getAbbrev(), reconstClass.getAbbrev());
}
Also used : ChallengeRating(pcgen.cdom.content.ChallengeRating) GenericLoader(pcgen.persistence.lst.GenericLoader) URISyntaxException(java.net.URISyntaxException) UnreachableError(pcgen.base.lang.UnreachableError) URI(java.net.URI) StringManager(pcgen.base.format.StringManager) CampaignSourceEntry(pcgen.persistence.lst.CampaignSourceEntry) OrderedPairManager(pcgen.base.format.OrderedPairManager) LoadContext(pcgen.rules.context.LoadContext) PCClassLoader(pcgen.persistence.lst.PCClassLoader)

Example 10 with StringManager

use of pcgen.base.format.StringManager in project pcgen by PCGen.

the class PreDeityTest method setUp.

@Override
protected void setUp() throws Exception {
    super.setUp();
    deity = new Deity();
    deity.setName("Test Deity");
    deity.put(ObjectKey.ALIGNMENT, CDOMDirectSingleRef.getRef(ng));
    StringManager sm = new StringManager();
    FactSetKey<String> fsk = FactSetKey.getConstant("Pantheon", sm);
    deity.addToSetFor(fsk, new BasicIndirect<>(sm, "Celtic"));
}
Also used : Deity(pcgen.core.Deity) StringManager(pcgen.base.format.StringManager)

Aggregations

StringManager (pcgen.base.format.StringManager)14 Test (org.junit.Test)3 NumberManager (pcgen.base.format.NumberManager)3 DataTable (pcgen.cdom.format.table.DataTable)3 Deity (pcgen.core.Deity)3 PersistenceLayerException (pcgen.persistence.PersistenceLayerException)3 URI (java.net.URI)2 URISyntaxException (java.net.URISyntaxException)2 UnreachableError (pcgen.base.lang.UnreachableError)2 FactDefinition (pcgen.cdom.content.fact.FactDefinition)2 FactSetDefinition (pcgen.cdom.content.factset.FactSetDefinition)2 CampaignSourceEntry (pcgen.persistence.lst.CampaignSourceEntry)2 PCClassLoader (pcgen.persistence.lst.PCClassLoader)2 OrderedPairManager (pcgen.base.format.OrderedPairManager)1 AssociatedPrereqObject (pcgen.cdom.base.AssociatedPrereqObject)1 CDOMReference (pcgen.cdom.base.CDOMReference)1 MasterListInterface (pcgen.cdom.base.MasterListInterface)1 ChallengeRating (pcgen.cdom.content.ChallengeRating)1 ClassSpellList (pcgen.cdom.list.ClassSpellList)1 PCCheck (pcgen.core.PCCheck)1