aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-08-06 23:03:06 +0200
committerhannibal2 <24389977+hannibal002@users.noreply.github.com>2023-08-07 00:53:31 +0200
commit1da07465b60a8e357373d7c3a3f764dfa4d5960b (patch)
treebc94e3caa665223ef273e6166c3d9746af23970a /src/test
parentfa464f1d1eef4e1d320c47350fe6ded16b36b3ed (diff)
downloadskyhanni-1da07465b60a8e357373d7c3a3f764dfa4d5960b.tar.gz
skyhanni-1da07465b60a8e357373d7c3a3f764dfa4d5960b.tar.bz2
skyhanni-1da07465b60a8e357373d7c3a3f764dfa4d5960b.zip
Basic test for dungeon items
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/at/hannibal2/skyhanni/test/BootstrapHook.kt30
-rw-r--r--src/test/java/at/hannibal2/skyhanni/test/ItemModifierTest.kt28
-rw-r--r--src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension1
-rw-r--r--src/test/resources/testdata/Item/10starnecronhead.json1
4 files changed, 60 insertions, 0 deletions
diff --git a/src/test/java/at/hannibal2/skyhanni/test/BootstrapHook.kt b/src/test/java/at/hannibal2/skyhanni/test/BootstrapHook.kt
new file mode 100644
index 000000000..3aff72c2b
--- /dev/null
+++ b/src/test/java/at/hannibal2/skyhanni/test/BootstrapHook.kt
@@ -0,0 +1,30 @@
+package at.hannibal2.skyhanni.test
+
+import at.hannibal2.skyhanni.utils.LorenzUtils.makeAccessible
+import net.minecraft.block.Block
+import net.minecraft.block.BlockFire
+import net.minecraft.init.Bootstrap
+import net.minecraft.item.Item
+import org.junit.jupiter.api.extension.BeforeAllCallback
+import org.junit.jupiter.api.extension.Extension
+import org.junit.jupiter.api.extension.ExtensionContext
+import java.util.concurrent.locks.Lock
+import java.util.concurrent.locks.ReentrantLock
+
+class BootstrapHook : BeforeAllCallback, Extension {
+ companion object {
+ private val LOCK: Lock = ReentrantLock()
+ }
+
+ override fun beforeAll(p0: ExtensionContext?) {
+ LOCK.lock()
+ try {
+ Bootstrap::class.java.getDeclaredField("alreadyRegistered").makeAccessible().set(null, true)
+ Block.registerBlocks()
+ BlockFire.init()
+ Item.registerItems()
+ } finally {
+ LOCK.unlock()
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/java/at/hannibal2/skyhanni/test/ItemModifierTest.kt b/src/test/java/at/hannibal2/skyhanni/test/ItemModifierTest.kt
new file mode 100644
index 000000000..0fc172230
--- /dev/null
+++ b/src/test/java/at/hannibal2/skyhanni/test/ItemModifierTest.kt
@@ -0,0 +1,28 @@
+package at.hannibal2.skyhanni.test
+
+import at.hannibal2.skyhanni.utils.ItemUtils.isEnchanted
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getDungeonStarCount
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getEnchantments
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getHotPotatoCount
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getItemUuid
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getReforgeName
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.hasArtOfPeace
+import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.isRecombobulated
+import org.junit.jupiter.api.Test
+
+class ItemModifierTest {
+
+
+ @Test
+ fun testUpgradeLevelMasterStars() {
+ val itemStack = TestExportTools.getTestData(TestExportTools.Item, "10starnecronhead")
+ assert(!itemStack.isRecombobulated())
+ assert(itemStack.getReforgeName() == "ancient")
+ assert(itemStack.getItemUuid() == "2810b7fe-33af-4dab-bb41-b4815f5847af")
+ assert(itemStack.isEnchanted())
+ assert(itemStack.getHotPotatoCount() == 15)
+ assert(itemStack.getEnchantments()?.size == 11)
+ assert(itemStack.hasArtOfPeace())
+ assert(itemStack.getDungeonStarCount() == 10)
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
new file mode 100644
index 000000000..5b7b6dd31
--- /dev/null
+++ b/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
@@ -0,0 +1 @@
+at.hannibal2.skyhanni.test.BootstrapHook
diff --git a/src/test/resources/testdata/Item/10starnecronhead.json b/src/test/resources/testdata/Item/10starnecronhead.json
new file mode 100644
index 000000000..1e5bbe7b0
--- /dev/null
+++ b/src/test/resources/testdata/Item/10starnecronhead.json
@@ -0,0 +1 @@
+{"type":"Item","data":"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\u003d\u003d"} \ No newline at end of file