From: <nu...@us...> - 2006-04-01 17:36:54
|
Revision: 560 Author: nuance Date: 2006-04-01 09:36:38 -0800 (Sat, 01 Apr 2006) ViewCVS: http://svn.sourceforge.net/pcgen/?rev=560&view=rev Log Message: ----------- Add some more tests for instantiating choice managers Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/Globals.java Trunk/pcgen/code/src/java/pcgen/core/chooser/WeaponProfTypeChoiceManager.java Added Paths: ----------- Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponFocusChoiceManagerTest.java Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfChoiceManagerTest.java Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfTypeChoiceManagerTest.java Modified: Trunk/pcgen/code/src/java/pcgen/core/Globals.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Globals.java 2006-04-01 16:28:45 UTC (rev 559) +++ Trunk/pcgen/code/src/java/pcgen/core/Globals.java 2006-04-01 17:36:38 UTC (rev 560) @@ -3565,9 +3565,9 @@ * * @param weaponType The weapon type to add */ - static void addWeaponType(final String weaponType) + public static void addWeaponType(final String weaponType) { - weaponTypes.add(weaponType); + weaponTypes.add(weaponType.toUpperCase()); } /** Modified: Trunk/pcgen/code/src/java/pcgen/core/chooser/WeaponProfTypeChoiceManager.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/chooser/WeaponProfTypeChoiceManager.java 2006-04-01 16:28:45 UTC (rev 559) +++ Trunk/pcgen/code/src/java/pcgen/core/chooser/WeaponProfTypeChoiceManager.java 2006-04-01 17:36:38 UTC (rev 560) @@ -50,12 +50,13 @@ PlayerCharacter aPC) { super(aPObject, choiceString, aPC); - if (choices != null && choices.size() > 0 && - Globals.weaponTypesContains((String) choices.get(0))) + if (choices != null && choices.size() > 1 && + ((String) choices.get(0)).equalsIgnoreCase("WEAPONPROFTYPE") && + Globals.weaponTypesContains((String) choices.get(1))) { chooserHandled = "WEAPONPROFTYPE"; - title = (String) choices.get(0) + " Weapon Choice"; - weaponType = (String) choices.get(0); + title = (String) choices.get(1) + " Weapon Choice"; + weaponType = (String) choices.get(1); choices = choices.subList(1, choices.size()); } } Added: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponFocusChoiceManagerTest.java =================================================================== --- Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponFocusChoiceManagerTest.java (rev 0) +++ Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponFocusChoiceManagerTest.java 2006-04-01 17:36:38 UTC (rev 560) @@ -0,0 +1,102 @@ +/* + * WeaponFocusChoiceManagerTest.java + * Copyright 2005 (C) Andrew Wilson <nu...@so...> + * + * This library 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 library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Oct 7, 2005 + * + * $Author: nuance $ + * $Date: 2006-03-26 08:00:03 +0100 (Sun, 26 Mar 2006) $ + * $Revision: 471 $ + * + */ +package pcgen.core.chooser; + +import pcgen.AbstractCharacterTestCase; +import pcgen.core.PObject; +import pcgen.core.PlayerCharacter; +import pcgen.core.EquipmentList; +import pcgen.util.TestHelper; + +import java.lang.Class; +import java.lang.reflect.Field; +import java.util.List; + +/** + * {@code WeaponFocusChoiceManagerTest} test that the WeaponFocusChoiceManager class is functioning correctly. + * + * @author Andrew Wilson <nu...@so...> + */ + +public class WeaponFocusChoiceManagerTest extends AbstractCharacterTestCase { + + /** + * Constructs a new {@code WeaponFocusChoiceManagerTest}. + */ + public WeaponFocusChoiceManagerTest() + { + // Do Nothing + } + + + protected void setUp() throws Exception + { + super.setUp(); + } + + protected void tearDown() throws Exception + { + super.tearDown(); + EquipmentList.clearEquipmentMap(); + } + + /** + * Test the constructor + */ + public void test001() + { + PObject pObj = new PObject(); + pObj.setName("My PObject"); + pObj.setChoiceString("NUMCHOICES=1|WEAPONFOCUS|Foo|Bar|Baz"); + is(pObj.getChoiceString(), strEq("NUMCHOICES=1|WEAPONFOCUS|Foo|Bar|Baz")); + + PlayerCharacter aPC = getCharacter(); + + ChoiceManagerList choiceManager = ChooserUtilities.getChoiceManager(pObj, null, aPC); + is(choiceManager, not(eq(null)), "Found the chooser"); + + is(choiceManager.typeHandled(), strEq("WEAPONFOCUS"), "got expected chooser"); + + try + { + Class cMClass = choiceManager.getClass(); + + Field aField = (Field) TestHelper.findField(cMClass, "numberOfChoices"); + is (aField.get(choiceManager), eq(1)); + + aField = (Field) TestHelper.findField(cMClass, "choices"); + List choices = (List) aField.get(choiceManager); + is (new Integer (choices.size()), eq(3)); + is (choices.get(0), strEq("Foo")); + is (choices.get(1), strEq("Bar")); + is (choices.get(2), strEq("Baz")); + } + catch (IllegalAccessException e) { + System.out.println(e); + } + } + +} \ No newline at end of file Property changes on: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponFocusChoiceManagerTest.java ___________________________________________________________________ Name: keywords + "Date Revision Author Id" Name: svn:eol-style + native Added: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfChoiceManagerTest.java =================================================================== --- Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfChoiceManagerTest.java (rev 0) +++ Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfChoiceManagerTest.java 2006-04-01 17:36:38 UTC (rev 560) @@ -0,0 +1,102 @@ +/* + * WeaponProfChoiceManagerTest.java + * Copyright 2005 (C) Andrew Wilson <nu...@so...> + * + * This library 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 library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Oct 7, 2005 + * + * $Author: nuance $ + * $Date: 2006-03-26 08:00:03 +0100 (Sun, 26 Mar 2006) $ + * $Revision: 471 $ + * + */ +package pcgen.core.chooser; + +import pcgen.AbstractCharacterTestCase; +import pcgen.core.PObject; +import pcgen.core.PlayerCharacter; +import pcgen.core.EquipmentList; +import pcgen.util.TestHelper; + +import java.lang.Class; +import java.lang.reflect.Field; +import java.util.List; + +/** + * {@code WeaponProfChoiceManagerTest} test that the WeaponProfChoiceManager class is functioning correctly. + * + * @author Andrew Wilson <nu...@so...> + */ + +public class WeaponProfChoiceManagerTest extends AbstractCharacterTestCase { + + /** + * Constructs a new {@code WeaponProfChoiceManagerTest}. + */ + public WeaponProfChoiceManagerTest() + { + // Do Nothing + } + + + protected void setUp() throws Exception + { + super.setUp(); + } + + protected void tearDown() throws Exception + { + super.tearDown(); + EquipmentList.clearEquipmentMap(); + } + + /** + * Test the constructor + */ + public void test001() + { + PObject pObj = new PObject(); + pObj.setName("My PObject"); + pObj.setChoiceString("NUMCHOICES=1|WEAPONPROFS|Foo|Bar|Baz"); + is(pObj.getChoiceString(), strEq("NUMCHOICES=1|WEAPONPROFS|Foo|Bar|Baz")); + + PlayerCharacter aPC = getCharacter(); + + ChoiceManagerList choiceManager = ChooserUtilities.getChoiceManager(pObj, null, aPC); + is(choiceManager, not(eq(null)), "Found the chooser"); + + is(choiceManager.typeHandled(), strEq("WEAPONPROFS"), "got expected chooser"); + + try + { + Class cMClass = choiceManager.getClass(); + + Field aField = (Field) TestHelper.findField(cMClass, "numberOfChoices"); + is (aField.get(choiceManager), eq(1)); + + aField = (Field) TestHelper.findField(cMClass, "choices"); + List choices = (List) aField.get(choiceManager); + is (new Integer (choices.size()), eq(3)); + is (choices.get(0), strEq("Foo")); + is (choices.get(1), strEq("Bar")); + is (choices.get(2), strEq("Baz")); + } + catch (IllegalAccessException e) { + System.out.println(e); + } + } + +} Property changes on: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfChoiceManagerTest.java ___________________________________________________________________ Name: keywords + "Date Revision Author Id" Name: svn:eol-style + native Added: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfTypeChoiceManagerTest.java =================================================================== --- Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfTypeChoiceManagerTest.java (rev 0) +++ Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfTypeChoiceManagerTest.java 2006-04-01 17:36:38 UTC (rev 560) @@ -0,0 +1,106 @@ +/* + * WeaponProfTypeChoiceManagerTest.java + * Copyright 2005 (C) Andrew Wilson <nu...@so...> + * + * This library 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 library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Created on Oct 7, 2005 + * + * $Author: nuance $ + * $Date: 2006-03-26 08:00:03 +0100 (Sun, 26 Mar 2006) $ + * $Revision: 471 $ + * + */ +package pcgen.core.chooser; + +import pcgen.AbstractCharacterTestCase; +import pcgen.core.Globals; +import pcgen.core.PObject; +import pcgen.core.PlayerCharacter; +import pcgen.core.EquipmentList; +import pcgen.util.TestHelper; + +import java.lang.Class; +import java.lang.reflect.Field; +import java.util.List; + +/** + * {@code WeaponProfTypeChoiceManagerTest} test that the WeaponProfTypeChoiceManager class is functioning correctly. + * + * @author Andrew Wilson <nu...@so...> + */ + +public class WeaponProfTypeChoiceManagerTest extends AbstractCharacterTestCase { + + /** + * Constructs a new {@code WeaponProfTypeChoiceManagerTest}. + */ + public WeaponProfTypeChoiceManagerTest() + { + // Do Nothing + } + + + protected void setUp() throws Exception + { + super.setUp(); + Globals.addWeaponType("Martial"); + Globals.addWeaponType("Exotic"); + } + + protected void tearDown() throws Exception + { + super.tearDown(); + EquipmentList.clearEquipmentMap(); + } + + /** + * Test the constructor + */ + public void test001() + { + PObject pObj = new PObject(); + pObj.setName("My PObject"); + pObj.setChoiceString("NUMCHOICES=1|WEAPONPROFTYPE|Martial"); + is(pObj.getChoiceString(), strEq("NUMCHOICES=1|WEAPONPROFTYPE|Martial")); + + PlayerCharacter aPC = getCharacter(); + + ChoiceManagerList choiceManager = ChooserUtilities.getChoiceManager(pObj, null, aPC); + is(choiceManager, not(eq(null)), "Found the chooser"); + + is(choiceManager.typeHandled(), strEq("WEAPONPROFTYPE"), "got expected chooser"); + + try + { + Class cMClass = choiceManager.getClass(); + + Field aField = (Field) TestHelper.findField(cMClass, "numberOfChoices"); + is (aField.get(choiceManager), eq(1)); + + aField = (Field) TestHelper.findField(cMClass, "weaponType"); + is (aField.get(choiceManager), strEq("Martial")); + + aField = (Field) TestHelper.findField(cMClass, "choices"); + List choices = (List) aField.get(choiceManager); + is (new Integer (choices.size()), eq(1)); + is (choices.get(0), strEq("Martial")); + } + catch (IllegalAccessException e) { + System.out.println(e); + } + } + +} Property changes on: Trunk/pcgen/code/src/test/pcgen/core/chooser/WeaponProfTypeChoiceManagerTest.java ___________________________________________________________________ Name: keywords + "Date Revision Author Id" Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |