mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-20 22:42:03 +01:00
Merge pull request #3147 from Multiverse/ben/mv5/regen-test
Implement tests for regen command
This commit is contained in:
commit
50ed9e29d8
@ -136,7 +136,7 @@ dependencies {
|
||||
|
||||
// Tests
|
||||
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.21'
|
||||
testImplementation 'org.mockbukkit.mockbukkit:mockbukkit-v1.21:4.22.2'
|
||||
testImplementation 'org.mockbukkit.mockbukkit:mockbukkit-v1.21:4.24.1'
|
||||
testImplementation('com.googlecode.json-simple:json-simple:1.1.1') {
|
||||
exclude group: 'junit', module: 'junit'
|
||||
}
|
||||
|
@ -57,6 +57,7 @@ public interface DataStore<T> {
|
||||
gameRuleMap.put(gameRuleEnum, bukkitWorld.getGameRuleValue(gameRuleEnum));
|
||||
}
|
||||
});
|
||||
Logging.finer("Copied " + gameRuleMap.size() + " game rules from world " + world.getName());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,119 @@
|
||||
package org.mvplugins.multiverse.core.commands
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.GameRule
|
||||
import org.mvplugins.multiverse.core.world.LoadedMultiverseWorld
|
||||
import org.mvplugins.multiverse.core.world.options.CreateWorldOptions
|
||||
import kotlin.test.*
|
||||
|
||||
class RegenCommandTest : AbstractWorldCommandTest() {
|
||||
|
||||
private lateinit var testWorld : LoadedMultiverseWorld
|
||||
|
||||
@BeforeTest
|
||||
fun setUp() {
|
||||
testWorld = worldManager.createWorld(CreateWorldOptions.worldName("test")).get()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world`() {
|
||||
val previousUID = testWorld.uid
|
||||
val previousSeed = testWorld.seed
|
||||
testWorld.scale = 69.5
|
||||
testWorld.bukkitWorld.map {
|
||||
it.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false)
|
||||
}
|
||||
testWorld.bukkitWorld.map {
|
||||
it.worldBorder.size = 123.4
|
||||
}
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertEquals(previousSeed, newWorld.seed)
|
||||
assertEquals(69.5, newWorld.scale)
|
||||
assertEquals(false, newWorld.bukkitWorld.map { it.getGameRuleValue(GameRule.DO_DAYLIGHT_CYCLE) }.orNull)
|
||||
assertEquals(123.4, newWorld.bukkitWorld.map { it.worldBorder.size }.orNull)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world with specific seed`() {
|
||||
val previousUID = testWorld.uid
|
||||
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test --seed 456"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertEquals(456, newWorld.seed)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world with random seed`() {
|
||||
val previousUID = testWorld.uid
|
||||
val previousSeed = testWorld.seed
|
||||
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test --seed"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertNotEquals(previousSeed, newWorld.seed)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world and reset world config`() {
|
||||
val previousUID = testWorld.uid
|
||||
testWorld.scale = 69.5
|
||||
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test --reset-world-config"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertEquals(1.0, newWorld.scale)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world and reset gamerules`() {
|
||||
val previousUID = testWorld.uid
|
||||
testWorld.bukkitWorld.map {
|
||||
it.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false)
|
||||
}
|
||||
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test --reset-gamerules"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertEquals(true, newWorld.bukkitWorld.map { it.getGameRuleValue(GameRule.DO_DAYLIGHT_CYCLE) }.orNull)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Regen world and reset world border`() {
|
||||
val previousUID = testWorld.uid
|
||||
testWorld.bukkitWorld.map {
|
||||
it.worldBorder.size = 123.4
|
||||
}
|
||||
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv regen test --reset-world-border"))
|
||||
assertTrue(Bukkit.dispatchCommand(console, "mv confirm"))
|
||||
|
||||
val newWorld = worldManager.getLoadedWorld("test").orNull
|
||||
|
||||
assertNotNull(newWorld)
|
||||
assertNotEquals(previousUID, newWorld.uid)
|
||||
assertEquals(6.0E7, newWorld.bukkitWorld.map { it.worldBorder.size }.orNull)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user