From: <th...@us...> - 2008-05-22 03:19:38
|
Revision: 6341 http://pcgen.svn.sourceforge.net/pcgen/?rev=6341&view=rev Author: thpr Date: 2008-05-21 20:19:38 -0700 (Wed, 21 May 2008) Log Message: ----------- Tests for converted Race Tokens Added Paths: ----------- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HandsTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HitDiceAdvancementTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/LegsTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceSubtypeTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceTypeTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/ReachTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/SkillMultTokenTest.java Trunk/pcgen/code/src/utest/plugin/lsttokens/race/XtraSkillPointsPerLevelTokenTest.java Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HandsTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HandsTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HandsTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,82 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.IntegerKey; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractIntegerTokenTestCase; + +public class HandsTokenTest extends AbstractIntegerTokenTestCase<Race> +{ + + static HandsToken token = new HandsToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public IntegerKey getIntegerKey() + { + return IntegerKey.HANDS; + } + + @Override + public boolean isNegativeAllowed() + { + return false; + } + + @Override + public boolean isZeroAllowed() + { + return true; + } + + @Override + public boolean isPositiveAllowed() + { + return true; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HitDiceAdvancementTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HitDiceAdvancementTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/HitDiceAdvancementTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,147 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.core.Race; +import pcgen.persistence.PersistenceLayerException; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractTokenTestCase; + +public class HitDiceAdvancementTokenTest extends AbstractTokenTestCase<Race> +{ + + static HitdiceadvancementToken token = new HitdiceadvancementToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Test + public void testInvalidEmpty() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "")); + assertNoSideEffects(); + } + + // @Test + // public void testInvalidTooManyValues() throws PersistenceLayerException + // { + // assertFalse(token.parse(primaryContext, primaryProf, + // "1,2,3,4,5,6,7,8,9,0")); + // } + + @Test + public void testInvalidEmptyValue1() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, ",2,3,4")); + assertNoSideEffects(); + } + + @Test + public void testInvalidEmptyValue2() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "1,,3,4")); + assertNoSideEffects(); + } + + @Test + public void testInvalidEmptyValueLast() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "1,2,3,")); + assertNoSideEffects(); + } + + @Test + public void testInvalidNegativeValue() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "-1,2,3")); + assertNoSideEffects(); + } + + @Test + public void testInvalidDecreasingValue() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "5,3,8")); + assertNoSideEffects(); + } + + @Test + public void testInvalidEmbeddedSplat() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "5,*,8")); + assertNoSideEffects(); + } + + @Test + public void testInvalidNaN() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "5,N")); + assertNoSideEffects(); + } + + @Test + public void testInvalidTooMuchSplat() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "5,8*")); + assertNoSideEffects(); + } + + @Test + public void testInvalidTooMuchAfterSplat() throws PersistenceLayerException + { + assertFalse(token.parse(primaryContext, primaryProf, "5,*8")); + assertNoSideEffects(); + } + + @Test + public void testRoundRobinSingle() throws PersistenceLayerException + { + this.runRoundRobin("1"); + } + + @Test + public void testRoundRobinSimple() throws PersistenceLayerException + { + this.runRoundRobin("1,2,3"); + } + + @Test + public void testRoundRobinComplex() throws PersistenceLayerException + { + this.runRoundRobin("5,7,9,*"); + } +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/LegsTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/LegsTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/LegsTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,83 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.IntegerKey; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractIntegerTokenTestCase; + +public class LegsTokenTest extends AbstractIntegerTokenTestCase<Race> +{ + + static LegsToken token = new LegsToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public IntegerKey getIntegerKey() + { + return IntegerKey.LEGS; + } + + @Override + public boolean isNegativeAllowed() + { + return false; + } + + @Override + public boolean isZeroAllowed() + { + return true; + } + + @Override + public boolean isPositiveAllowed() + { + return true; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } + +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceSubtypeTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceSubtypeTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceSubtypeTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,89 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.ListKey; +import pcgen.cdom.enumeration.RaceSubType; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractTypeSafeListTestCase; + +public class RaceSubtypeTokenTest extends AbstractTypeSafeListTestCase<Race> +{ + + static RacesubtypeToken token = new RacesubtypeToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public Object getConstant(String string) + { + return RaceSubType.getConstant(string); + } + + @Override + public char getJoinCharacter() + { + return '|'; + } + + @Override + public ListKey<?> getListKey() + { + return ListKey.RACESUBTYPE; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } + + @Override + public boolean isClearDotLegal() + { + return false; + } + + @Override + public boolean isClearLegal() + { + return false; + } +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceTypeTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceTypeTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/RaceTypeTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,83 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.ObjectKey; +import pcgen.cdom.enumeration.RaceType; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractTypeSafeTokenTestCase; + +public class RaceTypeTokenTest extends AbstractTypeSafeTokenTestCase<Race> +{ + + static RacetypeToken token = new RacetypeToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public Object getConstant(String string) + { + return RaceType.getConstant(string); + } + + @Override + public ObjectKey<?> getObjectKey() + { + return ObjectKey.RACETYPE; + } + + @Override + protected boolean requiresPreconstruction() + { + return false; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } + + @Override + public boolean isClearLegal() + { + return false; + } +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/ReachTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/ReachTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/ReachTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,83 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.IntegerKey; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractIntegerTokenTestCase; + +public class ReachTokenTest extends AbstractIntegerTokenTestCase<Race> +{ + + static ReachToken token = new ReachToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public IntegerKey getIntegerKey() + { + return IntegerKey.REACH; + } + + @Override + public boolean isNegativeAllowed() + { + return false; + } + + @Override + public boolean isZeroAllowed() + { + return true; + } + + @Override + public boolean isPositiveAllowed() + { + return true; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } + +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/SkillMultTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/SkillMultTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/SkillMultTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,82 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.IntegerKey; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractIntegerTokenTestCase; + +public class SkillMultTokenTest extends AbstractIntegerTokenTestCase<Race> +{ + + static SkillmultToken token = new SkillmultToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public IntegerKey getIntegerKey() + { + return IntegerKey.INITIAL_SKILL_MULT; + } + + @Override + public boolean isNegativeAllowed() + { + return false; + } + + @Override + public boolean isZeroAllowed() + { + return true; + } + + @Override + public boolean isPositiveAllowed() + { + return true; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } +} Added: Trunk/pcgen/code/src/utest/plugin/lsttokens/race/XtraSkillPointsPerLevelTokenTest.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/lsttokens/race/XtraSkillPointsPerLevelTokenTest.java (rev 0) +++ Trunk/pcgen/code/src/utest/plugin/lsttokens/race/XtraSkillPointsPerLevelTokenTest.java 2008-05-22 03:19:38 UTC (rev 6341) @@ -0,0 +1,83 @@ +/* + * 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.race; + +import org.junit.Test; + +import pcgen.cdom.enumeration.IntegerKey; +import pcgen.core.Race; +import pcgen.rules.persistence.CDOMLoader; +import pcgen.rules.persistence.CDOMTokenLoader; +import pcgen.rules.persistence.token.CDOMPrimaryToken; +import plugin.lsttokens.testsupport.AbstractIntegerTokenTestCase; + +public class XtraSkillPointsPerLevelTokenTest extends + AbstractIntegerTokenTestCase<Race> +{ + + static XtraskillptsperlvlToken token = new XtraskillptsperlvlToken(); + static CDOMTokenLoader<Race> loader = new CDOMTokenLoader<Race>(Race.class); + + @Override + public Class<Race> getCDOMClass() + { + return Race.class; + } + + @Override + public CDOMLoader<Race> getLoader() + { + return loader; + } + + @Override + public CDOMPrimaryToken<Race> getToken() + { + return token; + } + + @Override + public IntegerKey getIntegerKey() + { + return IntegerKey.SKILL_POINTS_PER_LEVEL; + } + + @Override + public boolean isNegativeAllowed() + { + return false; + } + + @Override + public boolean isZeroAllowed() + { + return false; + } + + @Override + public boolean isPositiveAllowed() + { + return true; + } + + @Test + public void dummyTest() + { + // Just to get Eclipse to recognize this as a JUnit 4.0 Test Case + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |