1
0
mirror of https://github.com/chylex/Hardcore-Ender-Expansion.git synced 2025-03-14 22:15:44 +01:00

Move unit testing into a separate package that is not added to the jar file

This commit is contained in:
chylex 2016-01-13 19:06:46 +01:00
parent cd6e78e4ec
commit 63502f3770
14 changed files with 68 additions and 46 deletions

View File

@ -30,8 +30,6 @@ import chylex.hee.proxy.NotificationCommonProxy;
import chylex.hee.system.ReflectionPublicizer;
import chylex.hee.system.logging.Log;
import chylex.hee.system.logging.Stopwatch;
import chylex.hee.system.test.UnitTest.RunTime;
import chylex.hee.system.test.UnitTester;
import chylex.hee.world.DimensionOverride;
import chylex.hee.world.end.server.TerritoryEvents;
import cpw.mods.fml.common.FMLCommonHandler;
@ -85,7 +83,6 @@ public class HardcoreEnderExpansion{
ReflectionPublicizer.load();
Log.initializeDebug();
UnitTester.load();
// CONFIGURATION LOAD
@ -136,8 +133,6 @@ public class HardcoreEnderExpansion{
proxy.registerRenderers();
notifications.register();
UnitTester.trigger(RunTime.PREINIT);
ModInitHandler.finishPreInit();
ModIntegrationManager.sendIMCs();
@ -178,9 +173,6 @@ public class HardcoreEnderExpansion{
try{
ModIntegrity.verify();
HeeIMC.runLoadComplete();
UnitTester.trigger(RunTime.LOADCOMPLETE);
UnitTester.finalizeEventTests();
}
catch(Throwable t){
FMLCommonHandler.instance().raiseException(t,"Error running LoadComplete event in Hardcore Ender Expansion!",true);

View File

@ -20,8 +20,6 @@ import chylex.hee.proxy.ModCommonProxy.MessageType;
import chylex.hee.system.abstractions.entity.EntitySelector;
import chylex.hee.system.logging.Log;
import chylex.hee.system.logging.Stopwatch;
import chylex.hee.system.test.UnitTest.RunTime;
import chylex.hee.system.test.UnitTester;
import chylex.hee.system.util.ItemUtil;
import com.google.common.reflect.ClassPath;
import com.google.common.reflect.ClassPath.ClassInfo;
@ -169,13 +167,13 @@ public class HeeDebugCommand extends BaseCommand{
}
return;
}
}/* TODO
else if (args[0].equalsIgnoreCase("unit") && sender instanceof EntityPlayer){
StringBuilder build = new StringBuilder();
for(int a = 1; a < args.length; a++)build.append(args[a]).append(' ');
UnitTester.trigger(RunTime.INGAME,args.length > 1 ? build.deleteCharAt(build.length()-1).toString() : "");
}
}*/
else if (args[0].equalsIgnoreCase("tmp") && sender instanceof EntityPlayer){
EntityPlayer player = (EntityPlayer)sender;
// tmp command

View File

@ -0,0 +1,32 @@
package chylex.hee;
import chylex.hee.test.UnitTest.RunTime;
import chylex.hee.test.UnitTester;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = "HardcoreEnderExpansionTest", name = "HEE Unit Tester", version = "0")
public class HardcoreEnderExpansionTest{
public HardcoreEnderExpansionTest(){
UnitTester.load();
UnitTester.trigger(RunTime.CONSTRUCT);
}
@EventHandler
public void onPreInit(FMLPreInitializationEvent e){
UnitTester.trigger(RunTime.PREINIT);
}
@EventHandler
public void onPostInit(FMLPostInitializationEvent e){
try{
UnitTester.trigger(RunTime.LOADCOMPLETE);
UnitTester.finalizeEventTests();
}
catch(Throwable t){
FMLCommonHandler.instance().raiseException(t,"Error running LoadComplete event in Hardcore Ender Expansion!",true);
}
}
}

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test;
package chylex.hee.test;
import java.util.Collection;
import chylex.hee.system.util.MathUtil;
import com.google.common.base.Objects;

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test;
package chylex.hee.test;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@ -11,6 +11,6 @@ public @interface UnitTest{
String trigger() default "";
public enum RunTime{
PREINIT, LOADCOMPLETE, INGAME
CONSTRUCT, PREINIT, LOADCOMPLETE, INGAME
}
}

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test;
package chylex.hee.test;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@ -10,8 +10,8 @@ import java.util.Set;
import java.util.stream.Collectors;
import net.minecraftforge.common.ForgeVersion;
import chylex.hee.system.logging.Log;
import chylex.hee.system.test.UnitTest.RunTime;
import chylex.hee.system.util.DragonUtil;
import chylex.hee.test.UnitTest.RunTime;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
@ -33,7 +33,7 @@ public final class UnitTester{
Log.debug(prefix+"Loading unit tests!");
try{
String basePackage = "chylex.hee.system.test.list";
String basePackage = "chylex.hee.test.list";
for(ClassInfo clsInfo:ClassPath.from(UnitTester.class.getClassLoader()).getTopLevelClassesRecursive(basePackage)){
Class<?> cls = clsInfo.load();

View File

@ -1,11 +1,11 @@
package chylex.hee.system.test.list;
package chylex.hee.test.list;
import net.minecraft.util.EnumFacing;
import chylex.hee.system.abstractions.Pos;
import chylex.hee.system.abstractions.Pos.PosMutable;
import chylex.hee.system.abstractions.facing.Facing4;
import chylex.hee.system.abstractions.facing.Facing6;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
public class TestAbstractions{
@UnitTest

View File

@ -1,6 +1,6 @@
package chylex.hee.system.test.list;
import java.util.*;
package chylex.hee.test.list;
import java.util.AbstractMap.SimpleEntry;
import java.util.*;
import java.util.Map.Entry;
import chylex.hee.system.collections.BitStream;
import chylex.hee.system.collections.CollectionUtil;
@ -10,8 +10,8 @@ import chylex.hee.system.collections.RandomList;
import chylex.hee.system.collections.weight.IWeightProvider;
import chylex.hee.system.collections.weight.WeightedList;
import chylex.hee.system.collections.weight.WeightedMap;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
public class TestCollections{
@UnitTest

View File

@ -1,14 +1,14 @@
package chylex.hee.system.test.list;
package chylex.hee.test.list;
import java.util.Arrays;
import java.util.Calendar;
import net.minecraft.util.EnumChatFormatting;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.system.util.BooleanByte;
import chylex.hee.system.util.ColorUtil;
import chylex.hee.system.util.CycleProtection;
import chylex.hee.system.util.DragonUtil;
import chylex.hee.system.util.MathUtil;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
public class TestUtilityClasses{
@UnitTest

View File

@ -1,12 +1,12 @@
package chylex.hee.system.test.list;
package chylex.hee.test.list;
import gnu.trove.set.hash.TIntHashSet;
import java.lang.reflect.Method;
import java.util.Random;
import net.minecraft.init.Blocks;
import chylex.hee.system.abstractions.Pos;
import chylex.hee.system.abstractions.Pos.PosMutable;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
import chylex.hee.world.structure.StructureWorld;
import chylex.hee.world.util.BoundingBox;
import chylex.hee.world.util.Range;

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test.list.ingame;
package chylex.hee.test.list.ingame;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
@ -30,10 +30,10 @@ import chylex.hee.mechanics.brewing.PotionTypes;
import chylex.hee.mechanics.energy.EnergyClusterGenerator;
import chylex.hee.mechanics.essence.EssenceType;
import chylex.hee.system.abstractions.Pos.PosMutable;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.system.test.UnitTest.RunTime;
import chylex.hee.system.util.MathUtil;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
import chylex.hee.test.UnitTest.RunTime;
import chylex.hee.tileentity.TileEntityAccumulationTable;
import chylex.hee.tileentity.TileEntityDecompositionTable;
import chylex.hee.tileentity.TileEntityEnergyCluster;

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test.list.old;
package chylex.hee.test.list.old;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.init.Items;
@ -9,8 +9,8 @@ import net.minecraft.potion.PotionEffect;
import org.apache.commons.lang3.tuple.Pair;
import chylex.hee.init.ItemList;
import chylex.hee.mechanics.brewing.PotionTypes;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
public class EnhancedBrewingTests{
private final List<Pair<Item,PotionEffect>> stages = new ArrayList<>();

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test.list.old;
package chylex.hee.test.list.old;
import java.util.Random;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.monster.EntityBlaze;
@ -13,13 +13,13 @@ import chylex.hee.mechanics.essence.handler.DragonEssenceHandler;
import chylex.hee.mechanics.essence.handler.dragon.AltarItemRecipe;
import chylex.hee.mechanics.misc.StardustDecomposition;
import chylex.hee.mechanics.orb.OrbSpawnableMobs;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.system.test.UnitTest.RunTime;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
import chylex.hee.test.UnitTest.RunTime;
import chylex.hee.tileentity.TileEntityExperienceTable;
public class ImcTests{
@UnitTest(runTime = RunTime.PREINIT)
@UnitTest(runTime = RunTime.CONSTRUCT)
public void prepareImcs(){
for(String msgs:new String[]{
"HEE:DragonEssence:AddRecipe { 'input': { 'id': 'ghast_tear' }, 'output': { 'id': '~hee:spectral_tear' }, 'cost': 15 }",

View File

@ -1,4 +1,4 @@
package chylex.hee.system.test.list.old;
package chylex.hee.test.list.old;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.init.Blocks;
@ -6,10 +6,10 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import chylex.hee.init.ItemList;
import chylex.hee.system.test.Assert;
import chylex.hee.system.test.UnitTest;
import chylex.hee.system.util.ItemDamagePair;
import chylex.hee.system.util.ItemPattern;
import chylex.hee.test.Assert;
import chylex.hee.test.UnitTest;
public class ItemHandlingTests{
private List<ItemStack> patternTestList = new ArrayList<>();