|
From: <th...@us...> - 2007-09-30 21:28:34
|
Revision: 4200
http://pcgen.svn.sourceforge.net/pcgen/?rev=4200&view=rev
Author: thpr
Date: 2007-09-30 14:28:38 -0700 (Sun, 30 Sep 2007)
Log Message:
-----------
Commit testing of the old choose tokens -
probably not valuable code, but I don't want to lose it
in case it does become useful to test a converter
Added Paths:
-----------
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractChooseTokenTestCase.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractEmptyChooseTokenTestCase.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorProfTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorTypeTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CCSkillListTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CSkillsTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/DomainTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/EquipTypeTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatAddTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatListTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatSelectTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/NoChoiceTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ShieldProfTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCCSkillTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCSkillTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellClassesTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellsTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/StatTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/TokenChooseTestSuite.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/WeaponProfTokenTest.java
branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/WeaponProfsTokenTest.java
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractChooseTokenTestCase.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractChooseTokenTestCase.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractChooseTokenTestCase.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,582 @@
+/*
+ * Copyright (c) 2007 Tom Parker <th...@us...>
+ *
+ * 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.lsttokens.oldchoose;
+
+import java.net.URISyntaxException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import pcgen.core.PObject;
+import pcgen.persistence.LoadContext;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.GlobalLstToken;
+import plugin.lsttokens.ChooseLst;
+import plugin.lsttokens.testsupport.AbstractGlobalTokenTestCase;
+import plugin.lsttokens.testsupport.TokenRegistration;
+
+public abstract class AbstractChooseTokenTestCase extends
+ AbstractGlobalTokenTestCase
+{
+
+ static ChooseLst token = new ChooseLst();
+
+ @Override
+ @Before
+ public void setUp() throws PersistenceLayerException, URISyntaxException
+ {
+ super.setUp();
+ TokenRegistration.register(getSubToken());
+ }
+
+ @Test
+ public void testArchitecture()
+ {
+ /*
+ * This case is not handled well by this generic tester, and thus should
+ * be prohibited in this level of automation... - Tom Parker 6/15/2007
+ */
+ assertFalse(isTypeLegal() && getJoinCharacter() == '.');
+ }
+
+ protected abstract char getJoinCharacter();
+
+ protected abstract ChooseLstToken getSubToken();
+
+ protected abstract <T extends PObject> Class<T> getSubTokenType();
+
+ protected abstract boolean isPrimitiveLegal();
+
+ protected abstract boolean requiresConstruction();
+
+ protected abstract boolean isTypeLegal();
+
+ protected abstract boolean isAnyLegal();
+
+ public String getSubTokenString()
+ {
+ return getSubToken().getTokenName();
+ }
+
+ private String prefix = "";
+
+ protected void setPrefix(String s)
+ {
+ prefix = s;
+ }
+
+ protected String getPrefix()
+ {
+ return prefix;
+ }
+
+ @Test
+ public void testInvalidNoPrefix() throws PersistenceLayerException
+ {
+ if (prefix.length() != 0)
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|String"));
+ }
+ }
+
+ @Test
+ public void testInvalidInputString() throws PersistenceLayerException
+ {
+ boolean parse =
+ getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|String");
+ if (isPrimitiveLegal() == parse)
+ {
+ assertEquals(!requiresConstruction(), primaryContext.ref.validate());
+ }
+ else
+ {
+ assertEquals(!requiresConstruction(), parse);
+ }
+ }
+
+ @Test
+ public void testInvalidInputType() throws PersistenceLayerException
+ {
+ boolean parse =
+ getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestType");
+ if (isPrimitiveLegal() == parse)
+ {
+ assertEquals(!requiresConstruction(), primaryContext.ref.validate());
+ }
+ else
+ {
+ assertEquals(!requiresConstruction(), parse);
+ }
+ }
+
+ @Test
+ public void testInvalidInputJoinedComma() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && getJoinCharacter() != ',')
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ boolean parse =
+ getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1,TestWP2");
+ if (parse)
+ {
+ assertFalse(primaryContext.ref.validate());
+ }
+ }
+ }
+
+ @Test
+ public void testInvalidInputJoinedDot() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && getJoinCharacter() != '.')
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ boolean parse =
+ getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1.TestWP2");
+ if (parse)
+ {
+ assertFalse(primaryContext.ref.validate());
+ }
+ }
+ }
+
+ @Test
+ public void testInvalidInputJoinedPipe() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && getJoinCharacter() != '|')
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ boolean parse =
+ getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1|TestWP2");
+ if (parse)
+ {
+ assertFalse(primaryContext.ref.validate());
+ }
+ }
+ }
+
+ @Test
+ public void testInvalidInputTypeEmpty() throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE="));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputTypeUnterminated()
+ throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE=One."));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputTypeDoubleSeparator()
+ throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE=One..Two"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputTypeFalseStart()
+ throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE=.One"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputAnyItem() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isAnyLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|ANY" + getJoinCharacter()
+ + "TestWP1"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputItemAny() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isAnyLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1" + getJoinCharacter()
+ + "ANY"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputAnyType() throws PersistenceLayerException
+ {
+ if (isAnyLegal() && isTypeLegal())
+ {
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|ANY" + getJoinCharacter()
+ + "TYPE=TestType"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputTypeAny() throws PersistenceLayerException
+ {
+ if (isAnyLegal() && isTypeLegal())
+ {
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TYPE=TestType"
+ + getJoinCharacter() + "ANY"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ // FIXME Need to implement!
+ // @Test
+ // public void testInvalidInputCheckType() throws PersistenceLayerException
+ // {
+ // assertTrue(token.parse(primaryContext, primaryProf, getSubTokenString()
+ // + "|TYPE=TestType"));
+ // assertFalse(primaryContext.ref.validate());
+ // }
+
+ @Test
+ public void testInvalidEmptyBracket() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1[]"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidListEnd() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1" + getJoinCharacter()));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidListStart() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|" + getJoinCharacter()
+ + "TestWP1"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidListDoubleJoin() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP2" + getJoinCharacter()
+ + getJoinCharacter() + "TestWP1"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidListStartDoubleJoin()
+ throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ assertFalse(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + getJoinCharacter() + prefix + "|TestWP2"
+ + getJoinCharacter() + "TestWP1"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputCheckMult() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ // Explicitly do NOT build TestWP2
+ construct(primaryContext, "TestWP1");
+ boolean parse =
+ getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1"
+ + getJoinCharacter() + "TestWP2");
+ if (parse)
+ {
+ assertEquals(!requiresConstruction(), primaryContext.ref
+ .validate());
+ }
+ else
+ {
+ assertTrue(requiresConstruction());
+ }
+ }
+ }
+
+ @Test
+ public void testInvalidInputCheckTypeEqualLength()
+ throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isTypeLegal())
+ {
+ // Explicitly do NOT build TestWP2 (this checks that the TYPE=
+ // doesn't
+ // consume the |
+ construct(primaryContext, "TestWP1");
+ assertTrue(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1" + getJoinCharacter()
+ + "TYPE=TestType" + getJoinCharacter() + "TestWP2"));
+ assertFalse(primaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testInvalidInputCheckTypeDotLength()
+ throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isTypeLegal())
+ {
+ // Explicitly do NOT build TestWP2 (this checks that the TYPE=
+ // doesn't
+ // consume the |
+ construct(primaryContext, "TestWP1");
+ assertTrue(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1" + getJoinCharacter()
+ + "TYPE.TestType.OtherTestType" + getJoinCharacter()
+ + "TestWP2"));
+ assertFalse(primaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testValidInputs() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(primaryContext, "TestWP3");
+ assertTrue(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TestWP1"));
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1" + getJoinCharacter()
+ + "TestWP2"));
+ assertTrue(primaryContext.ref.validate());
+ }
+ if (isTypeLegal())
+ {
+ assertTrue(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE=TestType"));
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + prefix + "|TYPE.TestType"));
+ assertTrue(primaryContext.ref.validate());
+ if (isPrimitiveLegal())
+ {
+ assertTrue(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1"
+ + getJoinCharacter() + "TestWP2" + getJoinCharacter()
+ + "TYPE=TestType"));
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(getToken().parse(
+ primaryContext,
+ primaryProf,
+ getSubTokenString() + prefix + "|TestWP1"
+ + getJoinCharacter() + "TestWP2" + getJoinCharacter()
+ + "TYPE=TestType.OtherTestType"));
+ assertTrue(primaryContext.ref.validate());
+ }
+ }
+ }
+
+ @Test
+ public void testRoundRobinOne() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + prefix + "|TestWP1");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testRoundRobinAny() throws PersistenceLayerException
+ {
+ if (isAnyLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + prefix + "|ANY");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testRoundRobinThree() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(primaryContext, "TestWP3");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP3");
+ runRoundRobin(getSubTokenString() + prefix + "|TestWP1"
+ + getJoinCharacter() + "TestWP2" + getJoinCharacter()
+ + "TestWP3");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testRoundRobinWithEqualType() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal())
+ {
+ if (isTypeLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + prefix + "|TestWP1"
+ + getJoinCharacter() + "TestWP2" + getJoinCharacter()
+ + "TYPE=OtherTestType" + getJoinCharacter()
+ + "TYPE=TestType");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+ }
+
+ @Test
+ public void testRoundRobinTestEquals() throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ runRoundRobin(getSubTokenString() + prefix + "|TYPE=TestType");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+
+ @Test
+ public void testRoundRobinTestEqualThree() throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ runRoundRobin(getSubTokenString() + prefix
+ + "|TYPE=TestAltType.TestThirdType.TestType");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+
+ protected void construct(LoadContext loadContext, String one)
+ {
+ loadContext.ref.constructCDOMObject(getSubTokenType(), one);
+ }
+
+ @Override
+ public GlobalLstToken getToken()
+ {
+ return token;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractEmptyChooseTokenTestCase.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractEmptyChooseTokenTestCase.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/AbstractEmptyChooseTokenTestCase.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2007 Tom Parker <th...@us...>
+ *
+ * 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.lsttokens.oldchoose;
+
+import java.net.URISyntaxException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import pcgen.core.PObject;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.GlobalLstToken;
+import plugin.lsttokens.ChooseLst;
+import plugin.lsttokens.testsupport.AbstractGlobalTokenTestCase;
+import plugin.lsttokens.testsupport.TokenRegistration;
+
+public abstract class AbstractEmptyChooseTokenTestCase extends
+ AbstractGlobalTokenTestCase
+{
+
+ static ChooseLst token = new ChooseLst();
+
+ @Override
+ @Before
+ public void setUp() throws PersistenceLayerException, URISyntaxException
+ {
+ super.setUp();
+ TokenRegistration.register(getSubToken());
+ }
+
+ protected abstract ChooseLstToken getSubToken();
+
+ protected abstract <T extends PObject> Class<T> getSubTokenType();
+
+ public String getSubTokenString()
+ {
+ return getSubToken().getTokenName();
+ }
+
+ @Test
+ public void testInvalidInputString() throws PersistenceLayerException
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|String"));
+ }
+
+ @Test
+ public void testRoundRobinOne() throws PersistenceLayerException
+ {
+ runRoundRobin(getSubTokenString());
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Override
+ public GlobalLstToken getToken()
+ {
+ return token;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorProfTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorProfTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorProfTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,92 @@
+package plugin.lsttokens.oldchoose;
+
+import java.net.URISyntaxException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import pcgen.core.Equipment;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.ArmorProfToken;
+
+public class ArmorProfTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ @Before
+ @Override
+ public void setUp() throws PersistenceLayerException, URISyntaxException
+ {
+ super.setUp();
+ this.setPrefix("|1");
+ }
+
+ static ArmorProfToken subToken = new ArmorProfToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Equipment> getSubTokenType()
+ {
+ return Equipment.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testInvalidCountNaN() throws PersistenceLayerException
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|x|String"));
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorTypeTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorTypeTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ArmorTypeTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,40 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.PObject;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.ArmorTypeToken;
+
+public class ArmorTypeTokenTest extends AbstractEmptyChooseTokenTestCase
+{
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static ArmorTypeToken subToken = new ArmorTypeToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ protected <T extends PObject> Class<T> getSubTokenType()
+ {
+ return null;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CCSkillListTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CCSkillListTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CCSkillListTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,170 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.Skill;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.CCSkillListToken;
+
+public class CCSkillListTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static CCSkillListToken subToken = new CCSkillListToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Skill> getSubTokenType()
+ {
+ return Skill.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return false;
+ }
+
+ protected boolean isListLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return ',';
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testInvalidInputAnyList() throws PersistenceLayerException
+ {
+ if (isListLegal() && isAnyLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|ANY" + getJoinCharacter() + "LIST"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputListAny() throws PersistenceLayerException
+ {
+ if (isListLegal() && isAnyLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|LIST" + getJoinCharacter() + "ANY"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputListItem() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isListLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|LIST" + getJoinCharacter() + "TestWP1"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testInvalidInputItemList() throws PersistenceLayerException
+ {
+ if (isPrimitiveLegal() && isListLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|TestWP1" + getJoinCharacter() + "LIST"));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ //
+ // @Test
+ // public void testInvalidInputListType() throws PersistenceLayerException
+ // {
+ // if (isListLegal() && isTypeLegal())
+ // {
+ // assertFalse(getToken().parse(
+ // primaryContext,
+ // primaryProf,
+ // getSubTokenString() + "|LIST" + getJoinCharacter()
+ // + "TYPE=TestType"));
+ // assertTrue(primaryGraph.isEmpty());
+ // }
+ // }
+ //
+ // @Test
+ // public void testInvalidInputTypeList() throws PersistenceLayerException
+ // {
+ // if (isListLegal() && isTypeLegal())
+ // {
+ // assertFalse(getToken().parse(
+ // primaryContext,
+ // primaryProf,
+ // getSubTokenString() + "|TYPE=TestType" + getJoinCharacter()
+ // + "LIST"));
+ // assertTrue(primaryGraph.isEmpty());
+ // }
+ // }
+
+ @Test
+ public void testRoundRobinList() throws PersistenceLayerException
+ {
+ if (isListLegal())
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|LIST");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CSkillsTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CSkillsTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/CSkillsTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,40 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.Equipment;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.CSkillsToken;
+
+public class CSkillsTokenTest extends AbstractEmptyChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static CSkillsToken subToken = new CSkillsToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Equipment> getSubTokenType()
+ {
+ return Equipment.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/DomainTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/DomainTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/DomainTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,131 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.Deity;
+import pcgen.core.Domain;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.DomainToken;
+
+public class DomainTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static DomainToken subToken = new DomainToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Domain> getSubTokenType()
+ {
+ return Domain.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return ',';
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testInvalidInputDeityEmpty() throws PersistenceLayerException
+ {
+ if (isTypeLegal())
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|DEITY="));
+ assertTrue(primaryGraph.isEmpty());
+ }
+ }
+
+ @Test
+ public void testRoundRobinDeity() throws PersistenceLayerException
+ {
+ primaryContext.ref.constructCDOMObject(Deity.class, "Zeus");
+ secondaryContext.ref.constructCDOMObject(Deity.class, "Zeus");
+ runRoundRobin(getSubTokenString() + "|DEITY=Zeus");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinQualify() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|QUALIFY");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinPC() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|PC");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinComplex() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|PC,QUALIFY,TestWP1");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/EquipTypeTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/EquipTypeTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/EquipTypeTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,72 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.Domain;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.EquipTypeToken;
+
+public class EquipTypeTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static EquipTypeToken subToken = new EquipTypeToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Domain> getSubTokenType()
+ {
+ return Domain.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '.';
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return false;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatAddTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatAddTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatAddTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,80 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.cdom.enumeration.AbilityCategory;
+import pcgen.core.Ability;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.LoadContext;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.FeatAddToken;
+
+public class FeatAddTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static FeatAddToken subToken = new FeatAddToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Ability> getSubTokenType()
+ {
+ return Ability.class;
+ }
+
+ @Override
+ protected void construct(LoadContext loadContext, String one)
+ {
+ Ability obj =
+ loadContext.ref.constructCDOMObject(getSubTokenType(), one);
+ loadContext.ref.reassociateReference(AbilityCategory.FEAT, obj);
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatListTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatListTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatListTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,80 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.cdom.enumeration.AbilityCategory;
+import pcgen.core.Ability;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.LoadContext;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.FeatListToken;
+
+public class FeatListTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static FeatListToken subToken = new FeatListToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Ability> getSubTokenType()
+ {
+ return Ability.class;
+ }
+
+ @Override
+ protected void construct(LoadContext loadContext, String one)
+ {
+ Ability obj =
+ loadContext.ref.constructCDOMObject(getSubTokenType(), one);
+ loadContext.ref.reassociateReference(AbilityCategory.FEAT, obj);
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatSelectTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatSelectTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/FeatSelectTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,80 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.cdom.enumeration.AbilityCategory;
+import pcgen.core.Ability;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.LoadContext;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.FeatSelectToken;
+
+public class FeatSelectTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static FeatSelectToken subToken = new FeatSelectToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Ability> getSubTokenType()
+ {
+ return Ability.class;
+ }
+
+ @Override
+ protected void construct(LoadContext loadContext, String one)
+ {
+ Ability obj =
+ loadContext.ref.constructCDOMObject(getSubTokenType(), one);
+ loadContext.ref.reassociateReference(AbilityCategory.FEAT, obj);
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/NoChoiceTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/NoChoiceTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/NoChoiceTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,41 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.PObject;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.NoChoiceToken;
+
+public class NoChoiceTokenTest extends AbstractEmptyChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static NoChoiceToken subToken = new NoChoiceToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ protected <T extends PObject> Class<T> getSubTokenType()
+ {
+ return null;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ShieldProfTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ShieldProfTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/ShieldProfTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,70 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.Equipment;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.ShieldProfToken;
+
+public class ShieldProfTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static ShieldProfToken subToken = new ShieldProfToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Equipment> getSubTokenType()
+ {
+ return Equipment.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCCSkillTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCCSkillTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCCSkillTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,111 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.Skill;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.SkillsNamedToCCSkillToken;
+
+public class SkillsNamedToCCSkillTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static SkillsNamedToCCSkillToken subToken = new SkillsNamedToCCSkillToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Skill> getSubTokenType()
+ {
+ return Skill.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testRoundRobinClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinCrossClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CROSSCLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinExclusive() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|EXCLUSIVE");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ // TODO Complex combinations
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCSkillTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCSkillTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedToCSkillTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,111 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.Skill;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.SkillsNamedToCSkillToken;
+
+public class SkillsNamedToCSkillTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static SkillsNamedToCSkillToken subToken = new SkillsNamedToCSkillToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Skill> getSubTokenType()
+ {
+ return Skill.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testRoundRobinClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinCrossClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CROSSCLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinExclusive() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|EXCLUSIVE");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ // TODO Complex combinations
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsNamedTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,111 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.Skill;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.SkillsNamedToken;
+
+public class SkillsNamedTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static SkillsNamedToken subToken = new SkillsNamedToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<Skill> getSubTokenType()
+ {
+ return Skill.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testRoundRobinClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinCrossClass() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|CROSSCLASS");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testRoundRobinExclusive() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin(getSubTokenString() + "|EXCLUSIVE");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ // TODO Complex combinations
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SkillsTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,40 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.Skill;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.SkillsToken;
+
+public class SkillsTokenTest extends AbstractEmptyChooseTokenTestCase
+{
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static SkillsToken subToken = new SkillsToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ protected Class<Skill> getSubTokenType()
+ {
+ return Skill.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellClassesTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellClassesTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellClassesTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,40 @@
+package plugin.lsttokens.oldchoose;
+
+import pcgen.core.PCTemplate;
+import pcgen.core.PObject;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.SpellClassesToken;
+
+public class SpellClassesTokenTest extends AbstractEmptyChooseTokenTestCase
+{
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static SpellClassesToken subToken = new SpellClassesToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ protected <T extends PObject> Class<T> getSubTokenType()
+ {
+ return null;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellsTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellsTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/SpellsTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,100 @@
+package plugin.lsttokens.oldchoose;
+
+import java.net.URISyntaxException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import pcgen.core.PCTemplate;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.GlobalLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.ChooseLst;
+import plugin.lsttokens.choose.SpellsToken;
+import plugin.lsttokens.testsupport.AbstractGlobalTokenTestCase;
+import plugin.lsttokens.testsupport.TokenRegistration;
+
+public class SpellsTokenTest extends AbstractGlobalTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static ChooseLst token = new ChooseLst();
+
+ static SpellsToken subToken = new SpellsToken();
+
+ @Override
+ @Before
+ public void setUp() throws PersistenceLayerException, URISyntaxException
+ {
+ super.setUp();
+ TokenRegistration.register(subToken);
+ }
+
+ private String getSubTokenString()
+ {
+ return "SPELLS";
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ public GlobalLstToken getToken()
+ {
+ return token;
+ }
+
+ @Test
+ public void testInvalidNoPrefix() throws PersistenceLayerException
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|String"));
+ }
+
+ @Test
+ public void testInvalidInputClassEmpty() throws PersistenceLayerException
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|CLASS="));
+ assertTrue(primaryGraph.isEmpty());
+ }
+
+ @Test
+ public void testRoundRobinTestClassEquals()
+ throws PersistenceLayerException
+ {
+ runRoundRobin(getSubTokenString() + "|CLASS=Wizard");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ @Test
+ public void testInvalidInputDomainEmpty() throws PersistenceLayerException
+ {
+ assertFalse(getToken().parse(primaryContext, primaryProf,
+ getSubTokenString() + "|DOMAIN="));
+ assertTrue(primaryGraph.isEmpty());
+ }
+
+ @Test
+ public void testRoundRobinTestDomainEquals()
+ throws PersistenceLayerException
+ {
+ runRoundRobin(getSubTokenString() + "|DOMAIN=Fire");
+ assertTrue(primaryContext.ref.validate());
+ assertTrue(secondaryContext.ref.validate());
+ }
+
+ // TODO is any separator legal, and if so, how does it work?
+}
Added: branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/StatTokenTest.java
===================================================================
--- branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/StatTokenTest.java (rev 0)
+++ branches/cdom/code/src/utest/plugin/lsttokens/oldchoose/StatTokenTest.java 2007-09-30 21:28:38 UTC (rev 4200)
@@ -0,0 +1,92 @@
+package plugin.lsttokens.oldchoose;
+
+import org.junit.Test;
+
+import pcgen.core.PCStat;
+import pcgen.core.PCTemplate;
+import pcgen.persistence.PersistenceLayerException;
+import pcgen.persistence.lst.ChooseLstToken;
+import pcgen.persistence.lst.LstObjectFileLoader;
+import pcgen.persistence.lst.PCTemplateLoader;
+import plugin.lsttokens.choose.StatToken;
+
+public class StatTokenTest extends AbstractChooseTokenTestCase
+{
+
+ static PCTemplateLoader loader = new PCTemplateLoader();
+
+ static StatToken subToken = new StatToken();
+
+ @Override
+ protected ChooseLstToken getSubToken()
+ {
+ return subToken;
+ }
+
+ @Override
+ public LstObjectFileLoader<PCTemplate> getLoader()
+ {
+ return loader;
+ }
+
+ @Override
+ protected Class<PCStat> getSubTokenType()
+ {
+ return PCStat.class;
+ }
+
+ @Override
+ public Class<PCTemplate> getCDOMClass()
+ {
+ return PCTemplate.class;
+ }
+
+ @Override
+ protected boolean isAnyLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected boolean isTypeLegal()
+ {
+ return false;
+ }
+
+ @Override
+ protected char getJoinCharacter()
+ {
+ return '|';
+ }
+
+ @Override
+ protected boolean isPrimitiveLegal()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean requiresConstruction()
+ {
+ return true;
+ }
+
+ @Test
+ public void testInvalidDoubleStat() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ assertFalse(getToken().parse(primaryCon...
[truncated message content] |