use of pcgen.core.prereq.Prerequisite in project pcgen by PCGen.
the class PreAbilityRoundRobin method testCombineSubNegative.
@Override
public void testCombineSubNegative() {
String original = "!PREMULT:2,[!PRE" + getBaseString() + ":1," + getPrefix() + "Foo],[!PRE" + getBaseString() + ":1," + getPrefix() + "Spot]";
String consolidatedPre = "PRE" + getBaseString() + ":1," + getPrefix() + "Foo,Spot";
try {
Prerequisite p = PreParserFactory.getInstance().parse(original);
PrerequisiteWriterInterface writer = PrerequisiteWriterFactory.getInstance().getWriter(p.getKind());
if (writer == null) {
fail("Could not find Writer for: " + p.getKind());
}
StringWriter w = new StringWriter();
writer.write(w, p);
boolean consolidated = w.toString().equals(consolidatedPre);
boolean separate = w.toString().equals(original);
assertTrue(consolidated || separate);
} catch (PersistenceLayerException e) {
fail(e.getLocalizedMessage());
}
}
use of pcgen.core.prereq.Prerequisite in project pcgen by PCGen.
the class PreAbilityRoundRobin method testCombineSubCheckMult.
public void testCombineSubCheckMult() {
// runSimpleRoundRobin("PREMULT:2,[!PRE" + getBaseString() + ":1,"
// + "CHECKMULT," + getPrefix() + "Foo],[!PRE" + getBaseString()
// + ":1," + "CHECKMULT," + getPrefix() + "Spot]", "!PRE"
// + getBaseString() + ":1," + "CHECKMULT," + getPrefix()
// + "Foo,Spot");
String original = "PREMULT:2,[!PRE" + getBaseString() + ":1," + "CHECKMULT," + getPrefix() + "Foo],[!PRE" + getBaseString() + ":1," + "CHECKMULT," + getPrefix() + "Spot]";
String consolidatedPre = "!PRE" + getBaseString() + ":1," + "CHECKMULT," + getPrefix() + "Foo,Spot";
try {
Prerequisite p = PreParserFactory.getInstance().parse(original);
PrerequisiteWriterInterface writer = PrerequisiteWriterFactory.getInstance().getWriter(p.getKind());
if (writer == null) {
fail("Could not find Writer for: " + p.getKind());
}
StringWriter w = new StringWriter();
writer.write(w, p);
boolean consolidated = w.toString().equals(consolidatedPre);
boolean separate = w.toString().equals(original);
assertTrue(consolidated || separate);
} catch (PersistenceLayerException e) {
fail(e.getLocalizedMessage());
}
}
use of pcgen.core.prereq.Prerequisite in project pcgen by PCGen.
the class PreSpellSchoolSubWriter method specialCase.
@Override
public boolean specialCase(Writer writer, Prerequisite prereq) throws IOException {
PrerequisiteOperator po = getConsolidateMethod(kindHandled(), prereq, true);
if (po == null) {
return false;
}
if (!po.equals(prereq.getOperator())) {
writer.write('!');
}
writer.write("PRE" + kindHandled().toUpperCase() + ':' + (prereq.isOverrideQualify() ? "Q:" : ""));
writer.write(po.equals(PrerequisiteOperator.GTEQ) ? prereq.getOperand() : "1");
for (Prerequisite p : prereq.getPrerequisites()) {
writer.write(',');
writer.write(p.getKey());
writer.write('=');
writer.write(p.getOperand());
}
return true;
}
use of pcgen.core.prereq.Prerequisite in project pcgen by PCGen.
the class PreSpellTypeWriter method specialCase.
/**
* @see pcgen.persistence.lst.output.prereq.AbstractPrerequisiteWriter#specialCase(java.io.Writer writer, pcgen.core.prereq.Prerequisite prereq)
*/
@Override
public boolean specialCase(Writer writer, Prerequisite prereq) throws IOException {
PrerequisiteOperator po = getConsolidateMethod(kindHandled(), prereq, true);
if (po == null) {
return false;
}
if (!po.equals(prereq.getOperator())) {
writer.write('!');
}
writer.write("PRE" + kindHandled().toUpperCase() + ':' + (prereq.isOverrideQualify() ? "Q:" : ""));
writer.write(po.equals(PrerequisiteOperator.GTEQ) ? prereq.getOperand() : "1");
for (Prerequisite p : prereq.getPrerequisites()) {
writer.write(',');
writer.write(p.getKey());
writer.write('=');
writer.write(p.getOperand());
}
return true;
}
use of pcgen.core.prereq.Prerequisite in project pcgen by PCGen.
the class PreSpellSchoolWriter method specialCase.
@Override
public boolean specialCase(Writer writer, Prerequisite prereq) throws IOException {
PrerequisiteOperator po = getConsolidateMethod(kindHandled(), prereq, true);
if (po == null) {
return false;
}
if (po != prereq.getOperator()) {
writer.write('!');
}
writer.write("PRE" + kindHandled().toUpperCase() + ':' + (prereq.isOverrideQualify() ? "Q:" : ""));
writer.write(po == PrerequisiteOperator.GTEQ ? prereq.getOperand() : "1");
for (Prerequisite p : prereq.getPrerequisites()) {
writer.write(',');
writer.write(p.getKey());
writer.write('=');
writer.write(p.getOperand());
}
return true;
}
Aggregations