summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/bukkit/support
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2012-01-29 11:22:11 +0100
committerErik Broes <erikbroes@grum.nl>2012-01-29 11:22:11 +0100
commit4c2f57592d73b51d7e78b259dce843edd48b562b (patch)
treeceef5e3b1bae8daf088c61012c9cb008eff04d67 /src/test/java/org/bukkit/support
parent1ea0037f490e014c705d93bec9fca0e1a524c3b1 (diff)
downloadcraftbukkit-4c2f57592d73b51d7e78b259dce843edd48b562b.tar
craftbukkit-4c2f57592d73b51d7e78b259dce843edd48b562b.tar.gz
craftbukkit-4c2f57592d73b51d7e78b259dce843edd48b562b.tar.lz
craftbukkit-4c2f57592d73b51d7e78b259dce843edd48b562b.tar.xz
craftbukkit-4c2f57592d73b51d7e78b259dce843edd48b562b.zip
Add some testing
Diffstat (limited to 'src/test/java/org/bukkit/support')
-rw-r--r--src/test/java/org/bukkit/support/AbstractTestingBase.java21
-rw-r--r--src/test/java/org/bukkit/support/Util.java31
2 files changed, 52 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
new file mode 100644
index 00000000..ca14db9b
--- /dev/null
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
@@ -0,0 +1,21 @@
+package org.bukkit.support;
+
+import net.minecraft.server.StatisticList;
+
+import org.junit.BeforeClass;
+
+/**
+ * If you are getting: java.lang.ExceptionInInitializerError
+ * at net.minecraft.server.StatisticList.<clinit>(SourceFile:58)
+ * at net.minecraft.server.Item.<clinit>(SourceFile:252)
+ * at net.minecraft.server.Block.<clinit>(Block.java:577)
+ *
+ * extend this class to solve it.
+ */
+public abstract class AbstractTestingBase {
+
+ @BeforeClass
+ public static void setup() {
+ StatisticList.a();
+ }
+} \ No newline at end of file
diff --git a/src/test/java/org/bukkit/support/Util.java b/src/test/java/org/bukkit/support/Util.java
new file mode 100644
index 00000000..2f24d9a4
--- /dev/null
+++ b/src/test/java/org/bukkit/support/Util.java
@@ -0,0 +1,31 @@
+package org.bukkit.support;
+
+import java.lang.reflect.Field;
+
+public class Util {
+ /*
+ public static <T> T getInternalState(Object object, String fieldName) {
+ return getInternalState(object.getClass(), object, fieldName);
+ }
+ */
+
+ @SuppressWarnings("unchecked")
+ public static <T> T getInternalState(Class<?> clazz, Object object, String fieldName) {
+ Field field;
+ try {
+ field = clazz.getDeclaredField(fieldName);
+ } catch (SecurityException e) {
+ throw new RuntimeException("Not allowed to access " + clazz, e);
+ } catch (NoSuchFieldException e) {
+ throw new RuntimeException("Unable to find field " + fieldName, e);
+ }
+
+ field.setAccessible(true);
+ try {
+ return (T) field.get(object);
+ } catch (IllegalArgumentException e) {
+ } catch (IllegalAccessException e) {
+ }
+ throw new RuntimeException("Unable to get internal value");
+ }
+}