OSDN Git Service

I with OWATA
authormozipi <mozipi_2@yahoo.co.jp>
Sun, 31 Mar 2013 02:40:16 +0000 (11:40 +0900)
committermozipi <mozipi_2@yahoo.co.jp>
Sun, 31 Mar 2013 02:40:16 +0000 (11:40 +0900)
common/pcc/chemicraft/core/ChemiCraftAPI.java
common/pcc/chemicraft/testcase/FormulaTest.java [moved from common/pcc/chemicraft/util/FormulaTest.java with 71% similarity]
common/pcc/chemicraft/testcase/MaterialRecipeTest.java [new file with mode: 0644]
common/pcc/chemicraft/util/Auxiliary.java
common/pcc/chemicraft/util/MaterialRecipe.java

index 2675206..22f8b7a 100644 (file)
@@ -238,6 +238,23 @@ public class ChemiCraftAPI {
 
 
        /**
+        * 素材作成台の不定形レシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        * @param nbtRecipe NBT(Nullの場合はなし)
+        */
+       public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
+               materialRecipe.add(
+                               new MaterialRecipe(
+                                               result,
+                                               materials,
+                                               nbtRecipe,
+                                               true));
+       }
+
+
+
+       /**
         * 電気分解台の燃料を追加します
         * @param itemstack 燃料のItemStack
         * @param burnTime 燃焼時間(tick * rate)
@@ -307,23 +324,6 @@ public class ChemiCraftAPI {
 
 
        /**
-        * 素材作成台の不定形レシピを追加します
-        * @param materials 素材
-        * @param result 結果
-        * @param nbtRecipe NBT(Nullの場合はなし)
-        */
-       public void addSharplessMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
-               materialRecipe.add(
-                               new MaterialRecipe(
-                                               result,
-                                               materials,
-                                               nbtRecipe,
-                                               true));
-       }
-
-
-
-       /**
         * ツール&武器作成台の不定形レシピを追加します
         * @param materials 素材
         * @param result 結果
@@ -1,9 +1,11 @@
-package pcc.chemicraft.util;
+package pcc.chemicraft.testcase;
 
 import static org.junit.Assert.*;
 
 import org.junit.Test;
 
+import pcc.chemicraft.util.Formula;
+
 public class FormulaTest extends Formula {
 
        public FormulaTest() {
@@ -12,14 +14,14 @@ public class FormulaTest extends Formula {
 
        @Test
        public void test() {
-               Formula formula = new Formula("C64Si16");
+               Formula formula = new Formula("C64Si65535");
                assertEquals("変換がおかしいです(元素)",
                                formula.getAtoms(),
                                new String[] {"C", "Si"});
 
                assertEquals("変換がおかしいです(元素数)",
                                formula.getAmonts(),
-                               new Integer[] {64, 16});
+                               new Integer[] {64, 65535});
 
        }
 
diff --git a/common/pcc/chemicraft/testcase/MaterialRecipeTest.java b/common/pcc/chemicraft/testcase/MaterialRecipeTest.java
new file mode 100644 (file)
index 0000000..b083782
--- /dev/null
@@ -0,0 +1,48 @@
+package pcc.chemicraft.testcase;
+
+import static org.junit.Assert.*;
+
+import net.minecraft.item.ItemStack;
+
+import org.junit.Test;
+
+import pcc.chemicraft.base.ChemiCraftBase;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.MaterialRecipe;
+
+public class MaterialRecipeTest extends MaterialRecipe {
+
+       public MaterialRecipeTest() {
+               super(
+                               new ItemStack(1800, 1, 0),
+                               new ItemStack[] {
+                                       new ItemStack(1800, 1, 0)
+                               },
+                               null,
+                               true);
+       }
+
+       @Test
+       public void test() {
+
+               ItemStack stack = new ItemStack(18000, 1, 0);
+               InventoryChemicalCraftingMaterial inv = new InventoryChemicalCraftingMaterial();
+               inv.setInventorySlotContents(0, new ItemStack(18000, 1, 0));
+
+               MaterialRecipe mr = new MaterialRecipe(
+                               stack,
+                               new ItemStack[] {
+                                               new ItemStack(18000, 1, 0)
+                               },
+                               null,
+                               true);
+
+               assertEquals(
+                               mr.match(inv),
+                               stack
+                               );
+
+       }
+
+}
index 2be14f0..1e1b23f 100644 (file)
@@ -171,7 +171,7 @@ public class Auxiliary {
 
        public static class ArrayAuxiliary{
 
-               public ItemStack[] deleteNull(ItemStack[] array){
+               public static ItemStack[] deleteNull(ItemStack[] array){
                        int count = 0;
                        ItemStack[] arrayCopy;
                        for(int i = 0;i < array.length;i++){
index 7fe7123..43c5e4c 100644 (file)
@@ -6,6 +6,7 @@ import java.util.Arrays;
 import net.minecraft.item.ItemStack;
 import pcc.chemicraft.core.ChemiCraftCore;
 import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.util.Auxiliary.ArrayAuxiliary;
 
 public class MaterialRecipe {
 
@@ -33,7 +34,7 @@ public class MaterialRecipe {
                if(isSharpless){
                        Arrays.sort(invItems, new ComparatorItemStack());
                        Arrays.sort(this.material, new ComparatorItemStack());
-                       invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
+                       invItems = (ItemStack[]) ArrayAuxiliary.deleteNull(invItems);
                        if(invItems.length != this.material.length) return null;
                        for(int i = 0;i < this.material.length;i++){
                                if(this.material[i].itemID != invItems[i].itemID) return null;
@@ -66,7 +67,7 @@ public class MaterialRecipe {
                if(isSharpless){
                        Arrays.sort(invItems, new ComparatorItemStack());
                        Arrays.sort(this.material, new ComparatorItemStack());
-                       invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
+                       invItems = (ItemStack[]) ArrayAuxiliary.deleteNull(invItems);
                        if(invItems.length != this.material.length) return null;
                        for(int i = 0;i < this.material.length;i++){
                                if(this.material[i].itemID != invItems[i].itemID) return null;