diff --git a/src/main/java/com/pahimar/ee3/command/CommandRunTest.java b/src/main/java/com/pahimar/ee3/command/CommandRunTest.java index 771c0535..0890de47 100644 --- a/src/main/java/com/pahimar/ee3/command/CommandRunTest.java +++ b/src/main/java/com/pahimar/ee3/command/CommandRunTest.java @@ -3,6 +3,7 @@ package com.pahimar.ee3.command; import com.pahimar.ee3.reference.Messages; import com.pahimar.ee3.reference.Names; import com.pahimar.ee3.reference.Reference; +import com.pahimar.ee3.reference.Tests; import com.pahimar.ee3.test.EnergyValueTestSuite; import com.pahimar.ee3.util.LogHelper; import cpw.mods.fml.common.FMLCommonHandler; @@ -39,26 +40,28 @@ public class CommandRunTest extends CommandEE { if (args.length == 2) { - // TODO Change location of where it looks for test cases - File testCaseDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues" + File.separator + "testcases"); - testCaseDirectory.mkdirs(); boolean testFound = false; - for (File testCaseFile : testCaseDirectory.listFiles()) { - if (testCaseFile.isFile() && testCaseFile.getName().equalsIgnoreCase(args[1])) { - testFound = true; - EnergyValueTestSuite energyValueTestSuite = new EnergyValueTestSuite(testCaseFile); - LogHelper.info(EnergyValueTestSuite.TEST_MARKER, "BEGIN TEST ({})", testCaseFile.getName()); - energyValueTestSuite.run(); - LogHelper.info(EnergyValueTestSuite.TEST_MARKER, "END TEST ({})", testCaseFile.getName()); + if (Tests.globalTestDirectory != null) { + for (File testCaseFile : Tests.globalTestDirectory.listFiles()) { + if (testCaseFile.isFile() && testCaseFile.getName().equalsIgnoreCase(args[1])) { + testFound = true; + EnergyValueTestSuite energyValueTestSuite = new EnergyValueTestSuite(testCaseFile); + LogHelper.info(EnergyValueTestSuite.TEST_MARKER, "BEGIN TEST ({})", testCaseFile.getName()); + energyValueTestSuite.run(); + LogHelper.info(EnergyValueTestSuite.TEST_MARKER, "END TEST ({})", testCaseFile.getName()); + } + } + + if (testFound) { + commandSender.addChatMessage(new ChatComponentTranslation(Messages.Commands.RUN_TESTS_SUCCESS, args[1])); + } + else { + commandSender.addChatMessage(new ChatComponentTranslation(Messages.Commands.RUN_TESTS_NOT_FOUND, args[1])); } } - - if (testFound) { - commandSender.addChatMessage(new ChatComponentTranslation(Messages.Commands.RUN_TESTS_SUCCESS, args[1])); - } else { - commandSender.addChatMessage(new ChatComponentTranslation(Messages.Commands.RUN_TESTS_NOT_FOUND, args[1])); + throw new WrongUsageException(Messages.Commands.RUN_TEST_USAGE); } } else diff --git a/src/main/java/com/pahimar/ee3/reference/Files.java b/src/main/java/com/pahimar/ee3/reference/Files.java index 814cfba0..6871e033 100644 --- a/src/main/java/com/pahimar/ee3/reference/Files.java +++ b/src/main/java/com/pahimar/ee3/reference/Files.java @@ -28,6 +28,8 @@ public class Files { public static void init(FMLPreInitializationEvent event) { globalDataDirectory = new File(event.getModConfigurationDirectory().getParentFile(), "data" + File.separator + Reference.LOWERCASE_MOD_ID); + Tests.globalTestDirectory = new File(globalDataDirectory, "tests"); + Tests.globalTestDirectory.mkdirs(); EnergyValueRegistry.energyValuesDirectory = new File(globalDataDirectory, "energy-values"); EnergyValueRegistry.energyValuesDirectory.mkdirs(); diff --git a/src/main/java/com/pahimar/ee3/reference/Messages.java b/src/main/java/com/pahimar/ee3/reference/Messages.java index 5db68446..dc3c6332 100644 --- a/src/main/java/com/pahimar/ee3/reference/Messages.java +++ b/src/main/java/com/pahimar/ee3/reference/Messages.java @@ -103,6 +103,7 @@ public final class Messages { public static final String RUN_TEST_USAGE = COMMAND_PREFIX + Names.Commands.RUN_TEST + ".usage"; public static final String RUN_TESTS_SUCCESS = COMMAND_PREFIX + Names.Commands.RUN_TEST + ".success"; public static final String RUN_TESTS_NOT_FOUND = COMMAND_PREFIX + Names.Commands.RUN_TEST + ".notfound"; + public static final String RUN_TESTS_DIR_NOT_FOUND = COMMAND_PREFIX + Names.Commands.RUN_TEST + ".dir-notfound"; public static final String ADMIN_USAGE = COMMAND_PREFIX + Names.Commands.ADMIN_PANEL + ".usage"; } diff --git a/src/main/java/com/pahimar/ee3/reference/Tests.java b/src/main/java/com/pahimar/ee3/reference/Tests.java index e5b49c44..7dc02d7e 100644 --- a/src/main/java/com/pahimar/ee3/reference/Tests.java +++ b/src/main/java/com/pahimar/ee3/reference/Tests.java @@ -3,6 +3,10 @@ package com.pahimar.ee3.reference; import com.pahimar.ee3.test.EnergyValueTestSuite; import com.pahimar.ee3.test.VanillaTestSuite; +import java.io.File; + public class Tests { - public static final EnergyValueTestSuite vanillaTestSuite = new VanillaTestSuite(); + public static File globalTestDirectory; + + public static final EnergyValueTestSuite VANILLA_TEST_SUITE = new VanillaTestSuite(); } diff --git a/src/main/java/com/pahimar/ee3/test/VanillaTestSuite.java b/src/main/java/com/pahimar/ee3/test/VanillaTestSuite.java index 1de5e1f3..7062f134 100644 --- a/src/main/java/com/pahimar/ee3/test/VanillaTestSuite.java +++ b/src/main/java/com/pahimar/ee3/test/VanillaTestSuite.java @@ -1,7 +1,6 @@ package com.pahimar.ee3.test; -import com.pahimar.ee3.reference.Reference; -import cpw.mods.fml.common.FMLCommonHandler; +import com.pahimar.ee3.reference.Tests; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -600,9 +599,6 @@ public class VanillaTestSuite extends EnergyValueTestSuite { } public void save() { - // TODO Change the test directory location - File energyValuesDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues" + File.separator + "testcases"); - energyValuesDataDirectory.mkdirs(); - this.save(new File(energyValuesDataDirectory, "minecraft-v1710-vanilla-test-suite.json")); + this.save(new File(Tests.globalTestDirectory, "minecraft-v1710-vanilla-test-suite.json")); } } diff --git a/src/main/resources/assets/ee3/lang/en_US.lang b/src/main/resources/assets/ee3/lang/en_US.lang index 5e451abc..39e913b2 100644 --- a/src/main/resources/assets/ee3/lang/en_US.lang +++ b/src/main/resources/assets/ee3/lang/en_US.lang @@ -178,6 +178,7 @@ commands.ee3.set-current-item-not-recoverable.no-effect=%s is already not exchan commands.ee3.run-tests.usage=/ee3 run-tests commands.ee3.run-tests.success=Executed test file '%s', check server log for results commands.ee3.run-tests.notfound=Test file '%s' was not found! +commands.ee3.run-tests.dir-notfound=Test directory was not found! # Tooltips tooltip.ee3:belongsTo=Belongs to %s