From: <th...@us...> - 2009-01-02 23:48:06
|
Revision: 8845 http://pcgen.svn.sourceforge.net/pcgen/?rev=8845&view=rev Author: thpr Date: 2009-01-02 23:48:00 +0000 (Fri, 02 Jan 2009) Log Message: ----------- additional PRE tests Modified Paths: -------------- Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractBasicRoundRobin.java Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractRankedRoundRobin.java Trunk/pcgen/code/src/utest/plugin/pretokens/PreAbilityRoundRobin.java Trunk/pcgen/code/src/utest/plugin/pretokens/PreStatRoundRobin.java Modified: Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractBasicRoundRobin.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractBasicRoundRobin.java 2009-01-02 23:43:02 UTC (rev 8844) +++ Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractBasicRoundRobin.java 2009-01-02 23:48:00 UTC (rev 8845) @@ -25,6 +25,11 @@ public abstract boolean isTypeAllowed(); + protected boolean isSubAllowed() + { + return true; + } + public String getPrefix() { return ""; @@ -127,4 +132,67 @@ + "Foo,TYPE=Bar"); } } + + + public void testBasicSub() + { + runRoundRobin("PRE" + getBaseString() + ":1," + getPrefix() + "Foo (Bar)"); + } + + public void testMultipleSub() + { + runRoundRobin("PRE" + getBaseString() + ":1," + getPrefix() + + "Spot (Bar),Listen (Goo)"); + } + + public void testNoCombineSubSub() + { + runRoundRobin("PREMULT:1,[PRE" + getBaseString() + ":1," + getPrefix() + + "Foo (Bar),Bar (Goo)],[PRE" + getBaseString() + ":2," + getPrefix() + + "Spot (Check),Listen (For)]"); + } + + public void testNoCombineSubNegativeSub() + { + runRoundRobin("PREMULT:1,[!PRE" + getBaseString() + ":1," + getPrefix() + + "Foo (Bar)],[!PRE" + getBaseString() + ":1," + getPrefix() + + "Spot (Goo)]"); + } + + public void testCombineSubSub() + { + runSimpleRoundRobin("PREMULT:2,[!PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar)],[!PRE" + getBaseString() + ":1," + + getPrefix() + "Spot (Check)]", "!PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar),Spot (Check)"); + } + + public void testCombineSubNegativeSub() + { + runSimpleRoundRobin("!PREMULT:2,[!PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar)],[!PRE" + getBaseString() + ":1," + + getPrefix() + "Spot (Check)]", "PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar),Spot (Check)"); + } + + public void testNoCombineMultSub() + { + runRoundRobin("PREMULT:2,[PRE" + getBaseString() + ":1," + getPrefix() + + "Foo (Bar),Bar (Goo)],[PRE" + getBaseString() + ":1," + getPrefix() + + "Spot (Har),Listen (Check)]"); + } + + public void testMultipleCountSub() + { + runRoundRobin("PRE" + getBaseString() + ":2," + getPrefix() + "Foo (Goo),Bar (Hoo)"); + } + + public void testComplexSub() + { + if (isTypeAllowed() && isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + ":3," + getPrefix() + + "Foo (Goo),TYPE=Bar"); + } + } } Modified: Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractRankedRoundRobin.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractRankedRoundRobin.java 2009-01-02 23:43:02 UTC (rev 8844) +++ Trunk/pcgen/code/src/utest/plugin/pretokens/AbstractRankedRoundRobin.java 2009-01-02 23:48:00 UTC (rev 8845) @@ -24,6 +24,11 @@ public abstract boolean isTypeAllowed(); + protected boolean isSubAllowed() + { + return true; + } + public abstract boolean isAnyAllowed(); public void testBasic() @@ -39,8 +44,7 @@ public void testNoCombineSub() { runRoundRobin("PREMULT:1,[PRE" + getBaseString() - + ":1,Foo=1,Bar=2],[PRE" + getBaseString() - + ":2,Goo=3,Hot=4]"); + + ":1,Foo=1,Bar=2],[PRE" + getBaseString() + ":2,Goo=3,Hot=4]"); } public void testCombineSub() @@ -66,8 +70,7 @@ public void testNoCombineMult() { runRoundRobin("PREMULT:2,[PRE" + getBaseString() - + ":1,Foo=1,Bar=2],[PRE" + getBaseString() - + ":1,Goo=3,Hot=4]"); + + ":1,Foo=1,Bar=2],[PRE" + getBaseString() + ":1,Goo=3,Hot=4]"); } public void testHigher() @@ -128,4 +131,98 @@ } } + public void testBasicSub() + { + if (isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + ":1,Foo (Bar)=1"); + } + } + + public void testMultipleSub() + { + if (isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + + ":1,Foo (Bar)=1,Bar (Goo)=2"); + } + } + + public void testNoCombineSubSub() + { + if (isSubAllowed()) + { + runRoundRobin("PREMULT:1,[PRE" + getBaseString() + + ":1,Foo (Bar)=1,Bar (Har)=2],[PRE" + getBaseString() + + ":2,Goo (gle)=3,Hot (Cakes)=4]"); + } + } + + public void testCombineSubSub() + { + if (isSubAllowed()) + { + runSimpleRoundRobin("PREMULT:2,[!PRE" + getBaseString() + + ":1,Foo (Bar)=1],[!PRE" + getBaseString() + + ":1,Goo (gle)=2]", "!PRE" + getBaseString() + + ":1,Foo (Bar)=1,Goo (gle)=2"); + } + } + + public void testCombineSubNegativeSub() + { + if (isSubAllowed()) + { + runSimpleRoundRobin("!PREMULT:2,[!PRE" + getBaseString() + + ":1,Foo (Bar)=1],[!PRE" + getBaseString() + + ":1,Goo (gle)=2]", "PRE" + getBaseString() + + ":1,Foo (Bar)=1,Goo (gle)=2"); + } + } + + public void testNoCombineSubNegativeSub() + { + if (isSubAllowed()) + { + runRoundRobin("PREMULT:1,[!PRE" + getBaseString() + + ":1,Foo (Bar)=1],[!PRE" + getBaseString() + + ":1,Goo (gle)=3]"); + } + } + + public void testNoCombineMultSub() + { + if (isSubAllowed()) + { + runRoundRobin("PREMULT:2,[PRE" + getBaseString() + + ":1,Foo (Bar)=1,Bar (Hoo)=2],[PRE" + getBaseString() + + ":1,Goo (gle)=3,Hot=4]"); + } + } + + public void testHigherSub() + { + if (isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + ":1,Foo (Bar)=3"); + } + } + + public void testBothMultipleSub() + { + if (isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + + ":2,Foo (Har)=3,Bar (Hoo)=5,Goo (gle)=6"); + } + } + + public void testSubComplex() + { + if (isTypeAllowed() && isSubAllowed()) + { + runRoundRobin("PRE" + getBaseString() + ":3,Foo (Bar)=3,TYPE.Bar=4"); + } + } + } Modified: Trunk/pcgen/code/src/utest/plugin/pretokens/PreAbilityRoundRobin.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/pretokens/PreAbilityRoundRobin.java 2009-01-02 23:43:02 UTC (rev 8844) +++ Trunk/pcgen/code/src/utest/plugin/pretokens/PreAbilityRoundRobin.java 2009-01-02 23:48:00 UTC (rev 8845) @@ -451,4 +451,62 @@ } } + @Override + public void testCombineSubSub() + { + String original = "PREMULT:2,[!PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar)],[!PRE" + getBaseString() + ":1," + + getPrefix() + "Spot (Check)]"; + String consolidatedPre = "!PRE" + getBaseString() + ":1," + getPrefix() + + "Foo (Bar),Spot (Check)"; + try + { + Prerequisite p = PreParserFactory.getInstance().parse(original); + PrerequisiteWriterInterface writer = PrerequisiteWriterFactory + .getInstance().getWriter(p.getKind()); + if (writer == null) + { + fail("Could not find Writer for: " + p.getKind()); + } + StringWriter w = new StringWriter(); + writer.write(w, p); + boolean consolidated = w.toString().equals(consolidatedPre); + boolean separate = w.toString().equals(original); + assertTrue(consolidated || separate); + } + catch (PersistenceLayerException e) + { + fail(e.getLocalizedMessage()); + } + } + + @Override + public void testCombineSubNegativeSub() + { + String original = "!PREMULT:2,[!PRE" + getBaseString() + ":1," + + getPrefix() + "Foo (Bar)],[!PRE" + getBaseString() + ":1," + + getPrefix() + "Spot (Check)]"; + String consolidatedPre = "PRE" + getBaseString() + ":1," + getPrefix() + + "Foo (Bar),Spot (Check)"; + try + { + Prerequisite p = PreParserFactory.getInstance().parse(original); + PrerequisiteWriterInterface writer = PrerequisiteWriterFactory + .getInstance().getWriter(p.getKind()); + if (writer == null) + { + fail("Could not find Writer for: " + p.getKind()); + } + StringWriter w = new StringWriter(); + writer.write(w, p); + boolean consolidated = w.toString().equals(consolidatedPre); + boolean separate = w.toString().equals(original); + assertTrue(consolidated || separate); + } + catch (PersistenceLayerException e) + { + fail(e.getLocalizedMessage()); + } + } + } Modified: Trunk/pcgen/code/src/utest/plugin/pretokens/PreStatRoundRobin.java =================================================================== --- Trunk/pcgen/code/src/utest/plugin/pretokens/PreStatRoundRobin.java 2009-01-02 23:43:02 UTC (rev 8844) +++ Trunk/pcgen/code/src/utest/plugin/pretokens/PreStatRoundRobin.java 2009-01-02 23:48:00 UTC (rev 8845) @@ -65,4 +65,10 @@ { return false; } + + @Override + public boolean isSubAllowed() + { + return false; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |