forked from SteamWar/SteamWar
Move arena runtime configuration into GameCore
- Replace FightSystem runtime properties with shared GameConfig - Update dependent modules, commands, states, and tests
This commit is contained in:
@@ -1,38 +1,31 @@
|
||||
package de.steamwar.gamecore
|
||||
|
||||
import de.steamwar.gamecore.config.GameRuntimeProperties
|
||||
import org.hamcrest.MatcherAssert.assertThat
|
||||
import org.hamcrest.Matchers.equalTo
|
||||
import org.junit.Test
|
||||
import java.util.Properties
|
||||
|
||||
class ArenaModeTest {
|
||||
@Test
|
||||
fun resolvesEveryFightSystemArenaMode() {
|
||||
assertThat(mode(), equalTo(ArenaMode.NORMAL))
|
||||
assertThat(mode(GameRuntimeProperties.FIGHT_ID to "42"), equalTo(ArenaMode.EVENT))
|
||||
assertThat(mode(GameRuntimeProperties.FIGHT_ID to "-1"), equalTo(ArenaMode.TEST))
|
||||
assertThat(mode(GameRuntimeProperties.REPLAY_ID to "42"), equalTo(ArenaMode.REPLAY))
|
||||
assertThat(mode(GameRuntimeProperties.PREPARE_SCHEMATIC_ID to "42"), equalTo(ArenaMode.PREPARE))
|
||||
assertThat(mode(GameRuntimeProperties.CHECK_SCHEMATIC_ID to "42"), equalTo(ArenaMode.CHECK))
|
||||
assertThat(mode(eventKampfID = 42), equalTo(ArenaMode.EVENT))
|
||||
assertThat(mode(eventKampfID = -1), equalTo(ArenaMode.TEST))
|
||||
assertThat(mode(replayID = 42), equalTo(ArenaMode.REPLAY))
|
||||
assertThat(mode(prepareSchemID = 42), equalTo(ArenaMode.PREPARE))
|
||||
assertThat(mode(checkSchemID = 42), equalTo(ArenaMode.CHECK))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun keepsFightSystemResolutionPrecedence() {
|
||||
val resolved = mode(
|
||||
GameRuntimeProperties.CHECK_SCHEMATIC_ID to "1",
|
||||
GameRuntimeProperties.PREPARE_SCHEMATIC_ID to "2",
|
||||
GameRuntimeProperties.FIGHT_ID to "3",
|
||||
GameRuntimeProperties.REPLAY_ID to "4",
|
||||
)
|
||||
val resolved = mode(checkSchemID = 1, prepareSchemID = 2, eventKampfID = 3, replayID = 4)
|
||||
|
||||
assertThat(resolved, equalTo(ArenaMode.CHECK))
|
||||
}
|
||||
|
||||
private fun mode(vararg values: Pair<String, String>): ArenaMode {
|
||||
val properties = Properties().apply {
|
||||
values.forEach { (name, value) -> setProperty(name, value) }
|
||||
}
|
||||
return ArenaMode.from(GameRuntimeProperties.load(properties))
|
||||
}
|
||||
private fun mode(
|
||||
checkSchemID: Int = 0,
|
||||
prepareSchemID: Int = 0,
|
||||
eventKampfID: Int = 0,
|
||||
replayID: Int = 0,
|
||||
): ArenaMode = GameConfig.resolveArenaMode(checkSchemID, prepareSchemID, eventKampfID, replayID)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package de.steamwar.gamecore
|
||||
|
||||
import org.hamcrest.MatcherAssert.assertThat
|
||||
import org.hamcrest.Matchers.equalTo
|
||||
import org.hamcrest.Matchers.nullValue
|
||||
import org.junit.Test
|
||||
|
||||
class GameConfigTest {
|
||||
@Test
|
||||
fun usesFightSystemDefaults() {
|
||||
assertThat(GameConfig.CheckSchemID, equalTo(0))
|
||||
assertThat(GameConfig.PrepareSchemID, equalTo(0))
|
||||
assertThat(GameConfig.ReplayID, equalTo(0))
|
||||
assertThat(GameConfig.ConfigFile, equalTo("config.yml"))
|
||||
assertThat(GameConfig.EventKampfID, equalTo(0))
|
||||
assertThat(GameConfig.BlueLeader, nullValue())
|
||||
assertThat(GameConfig.RedLeader, nullValue())
|
||||
assertThat(GameConfig.mode, equalTo(ArenaMode.NORMAL))
|
||||
assertThat(GameConfig.test(), equalTo(false))
|
||||
assertThat(GameConfig.replayserver(), equalTo(false))
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
package de.steamwar.gamecore.config
|
||||
|
||||
import org.hamcrest.MatcherAssert.assertThat
|
||||
import org.hamcrest.Matchers.equalTo
|
||||
import org.hamcrest.Matchers.nullValue
|
||||
import org.junit.Test
|
||||
import java.util.Properties
|
||||
import java.util.UUID
|
||||
|
||||
class GameRuntimePropertiesTest {
|
||||
@Test
|
||||
fun loadsEveryFightSystemRuntimeProperty() {
|
||||
val blueLeader = UUID.randomUUID()
|
||||
val redLeader = UUID.randomUUID()
|
||||
val properties = Properties().apply {
|
||||
setProperty(GameRuntimeProperties.CHECK_SCHEMATIC_ID, "11")
|
||||
setProperty(GameRuntimeProperties.PREPARE_SCHEMATIC_ID, "12")
|
||||
setProperty(GameRuntimeProperties.REPLAY_ID, "-13")
|
||||
setProperty(GameRuntimeProperties.CONFIG_FILE, "event.yml")
|
||||
setProperty(GameRuntimeProperties.FIGHT_ID, "14")
|
||||
setProperty(GameRuntimeProperties.BLUE_LEADER, blueLeader.toString())
|
||||
setProperty(GameRuntimeProperties.RED_LEADER, redLeader.toString())
|
||||
}
|
||||
|
||||
val runtime = GameRuntimeProperties.load(properties)
|
||||
|
||||
assertThat(runtime.checkSchematicId, equalTo(11))
|
||||
assertThat(runtime.prepareSchematicId, equalTo(12))
|
||||
assertThat(runtime.replayId, equalTo(-13))
|
||||
assertThat(runtime.configFile, equalTo("event.yml"))
|
||||
assertThat(runtime.fightId, equalTo(14))
|
||||
assertThat(runtime.blueLeader, equalTo(blueLeader))
|
||||
assertThat(runtime.redLeader, equalTo(redLeader))
|
||||
assertThat(runtime.isReplayServer, equalTo(true))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun usesFightSystemDefaults() {
|
||||
val runtime = GameRuntimeProperties.load(Properties())
|
||||
|
||||
assertThat(runtime.checkSchematicId, equalTo(0))
|
||||
assertThat(runtime.prepareSchematicId, equalTo(0))
|
||||
assertThat(runtime.replayId, equalTo(0))
|
||||
assertThat(runtime.configFile, equalTo("config.yml"))
|
||||
assertThat(runtime.fightId, equalTo(0))
|
||||
assertThat(runtime.blueLeader, nullValue())
|
||||
assertThat(runtime.redLeader, nullValue())
|
||||
assertThat(runtime.isReplayServer, equalTo(false))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user