/* * Copyright (c) 2008 Tom Parker <thpr@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ package plugin.pretokens; import junit.framework.Test; import junit.framework.TestSuite; import junit.textui.TestRunner; import pcgen.core.prereq.Prerequisite; import pcgen.persistence.PersistenceLayerException; import pcgen.persistence.lst.prereq.PreParserFactory; import plugin.lsttokens.testsupport.TokenRegistration; import plugin.pretokens.parser.PreClassParser; import plugin.pretokens.writer.PreClassWriter; public class PreClassRoundRobin extends AbstractRankedRoundRobin { public static void main(String args[]) { TestRunner.run(PreClassRoundRobin.class); } /** * @return Test */ public static Test suite() { return new TestSuite(PreClassRoundRobin.class); } @Override protected void setUp() throws Exception { super.setUp(); TokenRegistration.register(new PreClassParser()); TokenRegistration.register(new PreClassWriter()); } @Override public String getBaseString() { return "CLASS"; } @Override public boolean isAnyAllowed() { return true; } @Override public boolean isTypeAllowed() { return true; } public void testSpellcaster() { runRoundRobin("PRECLASS:1,SPELLCASTER=2"); } public void testSpellcasterTyped() { runRoundRobin("PRECLASS:1,SPELLCASTER.Arcane=2"); } public void testNestedInvalid() { try { String prereqStr = "PRECLASS:1,Oracle=2[!PRESPELL:1,Veil of Heaven]"; Prerequisite p = PreParserFactory.getInstance().parse(prereqStr); fail("Expected " + prereqStr + " to be rejected but got " + p); } catch (PersistenceLayerException e) { // Expected } } }