aboutsummaryrefslogtreecommitdiff
path: root/src/test/kotlin/util/skyblock/AbilityUtilsTest.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-10-13 17:32:10 +0200
committerLinnea Gräf <nea@nea.moe>2024-10-13 17:32:10 +0200
commite6142bb93619dee768fc18b87ffdd28558d4bcab (patch)
tree03df79712151f7579cd683c8340741ebb3191822 /src/test/kotlin/util/skyblock/AbilityUtilsTest.kt
parentdaa63bd914a2f6c5e9b668abb8474884685ee818 (diff)
downloadFirmament-e6142bb93619dee768fc18b87ffdd28558d4bcab.tar.gz
Firmament-e6142bb93619dee768fc18b87ffdd28558d4bcab.tar.bz2
Firmament-e6142bb93619dee768fc18b87ffdd28558d4bcab.zip
Make pickaxe ability display use AbilityUtils
[no changelog]
Diffstat (limited to 'src/test/kotlin/util/skyblock/AbilityUtilsTest.kt')
-rw-r--r--src/test/kotlin/util/skyblock/AbilityUtilsTest.kt79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/test/kotlin/util/skyblock/AbilityUtilsTest.kt b/src/test/kotlin/util/skyblock/AbilityUtilsTest.kt
new file mode 100644
index 0000000..abe739d
--- /dev/null
+++ b/src/test/kotlin/util/skyblock/AbilityUtilsTest.kt
@@ -0,0 +1,79 @@
+package moe.nea.firmament.test.util.skyblock
+
+import org.junit.jupiter.api.Assertions
+import org.junit.jupiter.api.Test
+import kotlin.time.Duration.Companion.minutes
+import kotlin.time.Duration.Companion.seconds
+import net.minecraft.text.Text
+import moe.nea.firmament.test.testutil.ItemResources
+import moe.nea.firmament.util.skyblock.AbilityUtils
+import moe.nea.firmament.util.unformattedString
+
+class AbilityUtilsTest {
+
+ fun List<AbilityUtils.ItemAbility>.stripDescriptions() = map {
+ it.copy(descriptionLines = it.descriptionLines.map { Text.literal(it.unformattedString) })
+ }
+
+ @Test
+ fun testUnpoweredDrill() {
+ Assertions.assertEquals(
+ listOf(
+ AbilityUtils.ItemAbility(
+ "Pickobulus",
+ false,
+ AbilityUtils.AbilityActivation.RIGHT_CLICK,
+ null,
+ listOf("Throw your pickaxe to create an",
+ "explosion mining all ores in a 3 block",
+ "radius.").map(Text::literal),
+ 48.seconds
+ )
+ ),
+ AbilityUtils.getAbilities(ItemResources.loadItem("titanium-drill")).stripDescriptions()
+ )
+ }
+
+ @Test
+ fun testPoweredPickaxe() {
+ Assertions.assertEquals(
+ listOf(
+ AbilityUtils.ItemAbility(
+ "Mining Speed Boost",
+ true,
+ AbilityUtils.AbilityActivation.RIGHT_CLICK,
+ null,
+ listOf("Grants +200% ⸕ Mining Speed for",
+ "10s.").map(Text::literal),
+ 2.minutes
+ )
+ ),
+ AbilityUtils.getAbilities(ItemResources.loadItem("diamond-pickaxe")).stripDescriptions()
+ )
+ }
+
+ @Test
+ fun testAOTV() {
+ Assertions.assertEquals(
+ listOf(
+ AbilityUtils.ItemAbility(
+ "Instant Transmission", true, AbilityUtils.AbilityActivation.RIGHT_CLICK, 23,
+ listOf("Teleport 12 blocks ahead of you and",
+ "gain +50 ✦ Speed for 3 seconds.").map(Text::literal),
+ null
+ ),
+ AbilityUtils.ItemAbility(
+ "Ether Transmission",
+ false,
+ AbilityUtils.AbilityActivation.SNEAK_RIGHT_CLICK,
+ 90,
+ listOf("Teleport to your targeted block up",
+ "to 61 blocks away.",
+ "Soulflow Cost: 1").map(Text::literal),
+ null
+ )
+ ),
+ AbilityUtils.getAbilities(ItemResources.loadItem("aspect-of-the-void")).stripDescriptions()
+ )
+ }
+}