|
From: <th...@us...> - 2008-12-31 20:06:47
|
Revision: 8763
http://pcgen.svn.sourceforge.net/pcgen/?rev=8763&view=rev
Author: thpr
Date: 2008-12-31 20:06:44 +0000 (Wed, 31 Dec 2008)
Log Message:
-----------
additional token tests
Modified Paths:
--------------
Trunk/pcgen/code/src/utest/plugin/lsttokens/AbilityLstTest.java
Trunk/pcgen/code/src/utest/plugin/lsttokens/CCSkillLstTest.java
Trunk/pcgen/code/src/utest/plugin/lsttokens/CSkillLstTest.java
Trunk/pcgen/code/src/utest/plugin/lsttokens/CompanionListLstTest.java
Trunk/pcgen/code/src/utest/plugin/lsttokens/DefineLstTest.java
Modified: Trunk/pcgen/code/src/utest/plugin/lsttokens/AbilityLstTest.java
===================================================================
--- Trunk/pcgen/code/src/utest/plugin/lsttokens/AbilityLstTest.java 2008-12-31 20:06:16 UTC (rev 8762)
+++ Trunk/pcgen/code/src/utest/plugin/lsttokens/AbilityLstTest.java 2008-12-31 20:06:44 UTC (rev 8763)
@@ -27,6 +27,7 @@
import pcgen.core.PCTemplate;
import pcgen.core.SettingsHandler;
import pcgen.persistence.PersistenceLayerException;
+import pcgen.rules.context.LoadContext;
import pcgen.rules.persistence.CDOMLoader;
import pcgen.rules.persistence.token.CDOMPrimaryToken;
import plugin.lsttokens.testsupport.AbstractGlobalTokenTestCase;
@@ -181,88 +182,53 @@
@Test
public void testRoundRobinJustSpell() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|NORMAL|Abil1");
}
@Test
public void testRoundRobinJustTwoPrereq() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|NORMAL|Abil1|PRELEVEL:MIN=5|PRERACE:1,Human");
}
@Test
public void testRoundRobinTwoSpell() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil2");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil2");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
+ construct(primaryContext, "Abil2");
+ construct(secondaryContext, "Abil2");
runRoundRobin("Feat|NORMAL|Abil1|Abil2");
}
@Test
public void testRoundRobinTwoNature() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil2");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil2");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil3");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil3");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil4");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil4");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
+ construct(primaryContext, "Abil2");
+ construct(secondaryContext, "Abil2");
+ construct(primaryContext, "Abil3");
+ construct(secondaryContext, "Abil3");
+ construct(primaryContext, "Abil4");
+ construct(secondaryContext, "Abil4");
runRoundRobin("Feat|NORMAL|Abil1|Abil2", "Feat|VIRTUAL|Abil3|Abil4");
}
@Test
public void testRoundRobinTwoCategory() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil2");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil2");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
+ construct(primaryContext, "Abil2");
+ construct(secondaryContext, "Abil2");
AbilityCategory ac = new AbilityCategory("NEWCAT");
SettingsHandler.getGame().addAbilityCategory(ac);
- ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil3");
+ Ability ab = primaryContext.ref.constructCDOMObject(Ability.class, "Abil3");
primaryContext.ref.reassociateCategory(ac, ab);
ab = secondaryContext.ref.constructCDOMObject(Ability.class,
"Abil3");
@@ -278,36 +244,24 @@
@Test
public void testRoundRobinDupe() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|VIRTUAL|Abil1|Abil1");
}
@Test
public void testRoundRobinDupeDiffNature() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|NORMAL|Abil1", "Feat|VIRTUAL|Abil1");
}
@Test
public void testRoundRobinDupeOnePrereq() throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|VIRTUAL|Abil1|Abil1|PRERACE:1,Human");
assertTrue(primaryContext.ref.validate());
assertTrue(secondaryContext.ref.validate());
@@ -317,12 +271,8 @@
public void testRoundRobinDupeDiffPrereqs()
throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|VIRTUAL|Abil1",
"Feat|VIRTUAL|Abil1|PRERACE:1,Human");
assertTrue(primaryContext.ref.validate());
@@ -333,15 +283,150 @@
public void testRoundRobinDupeTwoDiffPrereqs()
throws PersistenceLayerException
{
- Ability ab = primaryContext.ref.constructCDOMObject(
- Ability.class, "Abil1");
- primaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
- ab = secondaryContext.ref.constructCDOMObject(Ability.class,
- "Abil1");
- secondaryContext.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ construct(primaryContext, "Abil1");
+ construct(secondaryContext, "Abil1");
runRoundRobin("Feat|VIRTUAL|Abil1|Abil1|PRERACE:1,Elf",
"Feat|VIRTUAL|Abil1|PRERACE:1,Human");
assertTrue(primaryContext.ref.validate());
assertTrue(secondaryContext.ref.validate());
}
+
+ private void construct(LoadContext context, String name)
+ {
+ Ability ab = context.ref.constructCDOMObject(Ability.class, name);
+ context.ref.reassociateCategory(AbilityCategory.FEAT, ab);
+ }
+
+ @Test
+ public void testRoundRobinOneParen() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP1");
+ runRoundRobin("Feat|VIRTUAL|TestWP1 (Paren)");
+ }
+
+ @Test
+ public void testRoundRobinTwoParen() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin("Feat|VIRTUAL|TestWP1 (Paren)|TestWP2 (Other)");
+ }
+
+ @Test
+ public void testRoundRobinDupeParen() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP1");
+ runRoundRobin("Feat|VIRTUAL|TestWP1 (Other)|TestWP1 (That)");
+ }
+
+ @Test
+ public void testInputInvalidAddsTypeNoSideEffect()
+ throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP2");
+ construct(primaryContext, "TestWP3");
+ construct(secondaryContext, "TestWP3");
+ assertTrue(parse("Feat|VIRTUAL|TestWP1|TestWP2"));
+ assertTrue(parseSecondary("Feat|VIRTUAL|TestWP1|TestWP2"));
+ assertFalse(parse("Feat|VIRTUAL|TestWP3|TYPE="));
+ assertNoSideEffects();
+ }
+
+ @Test
+ public void testInputInvalidTypeClearDotNoSideEffect()
+ throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP2");
+ construct(primaryContext, "TestWP3");
+ construct(secondaryContext, "TestWP3");
+ assertTrue(parse("Feat|VIRTUAL|TestWP1|TestWP2"));
+ assertTrue(parseSecondary("Feat|VIRTUAL|TestWP1|TestWP2"));
+ assertFalse(parse("Feat|VIRTUAL|TestWP3|.CLEAR.TestWP1|.CLEAR.TYPE="));
+ assertNoSideEffects();
+ }
+
+ @Test
+ public void testRoundRobinTestEquals() throws PersistenceLayerException
+ {
+ runRoundRobin("Feat|VIRTUAL|TYPE=TestType");
+ }
+
+ @Test
+ public void testRoundRobinTestEqualThree() throws PersistenceLayerException
+ {
+ runRoundRobin("Feat|VIRTUAL|TYPE=TestAltType.TestThirdType.TestType");
+ }
+
+ @Test
+ public void testRoundRobinWithEqualType() throws PersistenceLayerException
+ {
+ construct(primaryContext, "TestWP1");
+ construct(primaryContext, "TestWP2");
+ construct(secondaryContext, "TestWP1");
+ construct(secondaryContext, "TestWP2");
+ runRoundRobin("Feat|VIRTUAL|TestWP1|TestWP2|TYPE=OtherTestType|TYPE=TestType");
+ }
+
+ @Test
+ public void testInvalidInputCheckTypeEqualLength()
+ throws PersistenceLayerException
+ {
+ // Explicitly do NOT build TestWP2 (this checks that the TYPE= doesn't
+ // consume the |
+ construct(primaryContext, "TestWP1");
+ assertTrue(parse("Feat|VIRTUAL|TestWP1|TYPE=TestType|TestWP2"));
+ assertFalse(primaryContext.ref.validate());
+ }
+
+ @Test
+ public void testInvalidInputCheckTypeDotLength()
+ throws PersistenceLayerException
+ {
+ // Explicitly do NOT build TestWP2 (this checks that the TYPE= doesn't
+ // consume the |
+ construct(primaryContext, "TestWP1");
+ assertTrue(parse("Feat|VIRTUAL|TestWP1|TYPE.TestType.OtherTestType|TestWP2"));
+ assertFalse(primaryContext.ref.validate());
+ }
+
+ @Test
+ public void testInvalidInputTypeEmpty() throws PersistenceLayerException
+ {
+ assertFalse(parse("Feat|VIRTUAL|TYPE="));
+ assertNoSideEffects();
+ }
+
+ @Test
+ public void testInvalidInputTypeUnterminated()
+ throws PersistenceLayerException
+ {
+ assertFalse(parse("Feat|VIRTUAL|TYPE=One."));
+ assertNoSideEffects();
+ }
+
+ @Test
+ public void testInvalidInputTypeDoubleSeparator()
+ throws PersistenceLayerException
+ {
+ assertFalse(parse("Feat|VIRTUAL|TYPE=One..Two"));
+ assertNoSideEffects();
+ }
+
+ @Test
+ public void testInvalidInputTypeFalseStart()
+ throws PersistenceLayerException
+ {
+ assertFalse(parse("Feat|VIRTUAL|TYPE=.One"));
+ assertNoSideEffects();
+ }
}
\ No newline at end of file
Modified: Trunk/pcgen/code/src/utest/plugin/lsttokens/CCSkillLstTest.java
===================================================================
--- Trunk/pcgen/code/src/utest/plugin/lsttokens/CCSkillLstTest.java 2008-12-31 20:06:16 UTC (rev 8762)
+++ Trunk/pcgen/code/src/utest/plugin/lsttokens/CCSkillLstTest.java 2008-12-31 20:06:44 UTC (rev 8763)
@@ -96,6 +96,12 @@
}
@Test
+ public void testRoundRobinPattern() throws PersistenceLayerException
+ {
+ runRoundRobin("Pattern%");
+ }
+
+ @Test
public void testRoundRobinListPlus() throws PersistenceLayerException
{
construct(primaryContext, "Foo");
Modified: Trunk/pcgen/code/src/utest/plugin/lsttokens/CSkillLstTest.java
===================================================================
--- Trunk/pcgen/code/src/utest/plugin/lsttokens/CSkillLstTest.java 2008-12-31 20:06:16 UTC (rev 8762)
+++ Trunk/pcgen/code/src/utest/plugin/lsttokens/CSkillLstTest.java 2008-12-31 20:06:44 UTC (rev 8763)
@@ -102,4 +102,11 @@
construct(secondaryContext, "Foo");
runRoundRobin("Foo", "LIST");
}
+
+ @Test
+ public void testRoundRobinPattern() throws PersistenceLayerException
+ {
+ runRoundRobin("Pattern%");
+ }
+
}
Modified: Trunk/pcgen/code/src/utest/plugin/lsttokens/CompanionListLstTest.java
===================================================================
--- Trunk/pcgen/code/src/utest/plugin/lsttokens/CompanionListLstTest.java 2008-12-31 20:06:16 UTC (rev 8762)
+++ Trunk/pcgen/code/src/utest/plugin/lsttokens/CompanionListLstTest.java 2008-12-31 20:06:44 UTC (rev 8763)
@@ -113,6 +113,13 @@
}
@Test
+ public void testInvalidTypeRaceTypeEmpty() throws PersistenceLayerException
+ {
+ assertFalse(parse("Familiar|RACETYPE="));
+ assertNoSideEffects();
+ }
+
+ @Test
public void testInvalidRaceCommaStarting() throws PersistenceLayerException
{
assertFalse(parse("Familiar|,Lion"));
@@ -275,6 +282,14 @@
}
@Test
+ public void testRoundRobinTwoWithRacetype() throws PersistenceLayerException
+ {
+ construct(Race.class, "Lion");
+ construct(Race.class, "Tiger");
+ runRoundRobin("Familiar|Lion,RACETYPE=Clawed");
+ }
+
+ @Test
public void testRoundRobinFA() throws PersistenceLayerException
{
construct(Race.class, "Lion");
Modified: Trunk/pcgen/code/src/utest/plugin/lsttokens/DefineLstTest.java
===================================================================
--- Trunk/pcgen/code/src/utest/plugin/lsttokens/DefineLstTest.java 2008-12-31 20:06:16 UTC (rev 8762)
+++ Trunk/pcgen/code/src/utest/plugin/lsttokens/DefineLstTest.java 2008-12-31 20:06:44 UTC (rev 8763)
@@ -73,6 +73,13 @@
}
@Test
+ public void testInvalidInputUnlockArg() throws PersistenceLayerException
+ {
+ assertFalse(parse("UNLOCK.STR|3"));
+ assertNoSideEffects();
+ }
+
+ @Test
public void testInvalidInputNoResult() throws PersistenceLayerException
{
assertFalse(parse("Medium"));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|