Skip to content

Commit

Permalink
fix final tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alyssaruth committed Feb 21, 2024
1 parent faef162 commit 113c823
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 13 deletions.
11 changes: 9 additions & 2 deletions src/main/kotlin/dartzee/game/GameType.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package dartzee.game

import dartzee.db.DartzeeTemplateEntity

const val GAME_PARAMS_NOT_APPLICABLE = "N/A"

enum class GameType {
X01,
GOLF,
Expand All @@ -26,11 +28,16 @@ enum class GameType {
}
}

fun getParamsDescription(gameParams: String) =
when (this) {
fun getParamsDescription(gameParams: String): String {
if (gameParams == GAME_PARAMS_NOT_APPLICABLE) {
return GAME_PARAMS_NOT_APPLICABLE
}

return when (this) {
X01 -> X01Config.fromJson(gameParams).description()
GOLF -> "$gameParams holes"
ROUND_THE_CLOCK -> RoundTheClockConfig.fromJson(gameParams).getDescription()
DARTZEE -> DartzeeTemplateEntity().retrieveForId(gameParams, false)?.name.orEmpty()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import dartzee.core.bean.NumberField
import dartzee.core.bean.selectedItemTyped
import dartzee.core.obj.HashMapCount
import dartzee.core.util.TableUtil.DefaultModel
import dartzee.game.GAME_PARAMS_NOT_APPLICABLE
import dartzee.screen.stats.median
import dartzee.stats.GameWrapper
import java.awt.BorderLayout
Expand Down Expand Up @@ -315,7 +316,7 @@ class StatisticsTabTotalScore(private val graphTitle: String, outlierMax: Int) :

// Handle 0 games
if (startingScores.isEmpty()) {
startingScores.add("N/A")
startingScores.add(GAME_PARAMS_NOT_APPLICABLE)
}

val comboOptions =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dartzee.achievements.x01

import dartzee.achievements.TestAbstractAchievementBestGame
import dartzee.game.FinishType
import dartzee.game.GameType
import dartzee.game.X01Config
import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.Test

Expand All @@ -13,6 +15,9 @@ class TestAchievementX01BestGame : TestAbstractAchievementBestGame<AchievementX0
val achievement = factoryAchievement()

achievement.gameType shouldBe GameType.X01
achievement.gameParams shouldBe "501"

val config = X01Config.fromJson(achievement.gameParams)
config.target shouldBe 501
config.finishType shouldBe FinishType.Doubles
}
}
2 changes: 1 addition & 1 deletion src/test/kotlin/dartzee/helper/TestFactory.kt
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ fun makeGolfPlayerState(

fun makeGameWrapper(
localId: Long = LocalIdGenerator(mainDatabase).generateLocalId(EntityName.Game),
gameParams: String = "501",
gameParams: String = DEFAULT_X01_CONFIG.toJson(),
dtStart: Timestamp = Timestamp(1000),
dtFinish: Timestamp = DateStatics.END_OF_TIME,
finalScore: Int = -1,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package dartzee.screen.game.x01

import dartzee.game.FinishType
import dartzee.game.X01Config
import dartzee.game.state.X01PlayerState
import dartzee.helper.insertPlayer
import dartzee.helper.makeX01PlayerState
Expand All @@ -14,17 +16,20 @@ import org.junit.jupiter.api.Test

class TestGameStatisticsPanelX01 :
AbstractGameStatisticsPanelTest<X01PlayerState, GameStatisticsPanelX01>() {
override fun factoryStatsPanel() = GameStatisticsPanelX01("501")
override fun factoryStatsPanel() = factoryStatsPanel(501)

private fun factoryStatsPanel(startingScore: Int) =
GameStatisticsPanelX01(X01Config(startingScore, FinishType.Doubles).toJson())

override fun makePlayerState() =
makeX01PlayerState(completedRound = listOf(Dart(20, 1), Dart(5, 1), Dart(1, 1)))

@Test
fun `Should set the maximum setupThreshold to be 1 less than the starting score`() {
val panel = GameStatisticsPanelX01("501")
val panel = factoryStatsPanel(501)
panel.nfSetupThreshold.getMaximum() shouldBe 500

val panelTwo = GameStatisticsPanelX01("301")
val panelTwo = factoryStatsPanel(301)
panelTwo.nfSetupThreshold.getMaximum() shouldBe 300
}

Expand Down Expand Up @@ -128,7 +133,7 @@ class TestGameStatisticsPanelX01 :

val state =
makeX01PlayerState(player = insertPlayer(name = "Alice"), completedRound = roundOne)
val statsPanel = GameStatisticsPanelX01("501")
val statsPanel = factoryStatsPanel(501)
statsPanel.showStats(listOf(state))
statsPanel.shouldHaveBreakdownState(hashMapOf("20 - 39" to 1))

Expand Down Expand Up @@ -183,7 +188,7 @@ class TestGameStatisticsPanelX01 :

val state =
makeX01PlayerState(player = insertPlayer(name = "Alice"), completedRound = roundOne)
val statsPanel = GameStatisticsPanelX01("701")
val statsPanel = factoryStatsPanel(701)
statsPanel.showStats(listOf(state))
statsPanel.shouldHaveBreakdownState(hashMapOf("180" to 1))

Expand Down Expand Up @@ -213,7 +218,7 @@ class TestGameStatisticsPanelX01 :

val state =
makeX01PlayerState(player = insertPlayer(name = "Alice"), completedRound = roundOne)
val statsPanel = GameStatisticsPanelX01("501")
val statsPanel = factoryStatsPanel(501)
statsPanel.showStats(listOf(state))

// [20, 20, 5]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dartzee.screen.game.x01

import dartzee.game.state.X01PlayerState
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.makeDart
import dartzee.helper.makeX01PlayerState
import dartzee.helper.makeX01PlayerStateWithRounds
Expand All @@ -13,7 +14,7 @@ import org.junit.jupiter.api.Test

class TestMatchStatisticsPanelX01 :
AbstractGameStatisticsPanelTest<X01PlayerState, MatchStatisticsPanelX01>() {
override fun factoryStatsPanel() = MatchStatisticsPanelX01("501")
override fun factoryStatsPanel() = MatchStatisticsPanelX01(DEFAULT_X01_CONFIG.toJson())

override fun makePlayerState() =
makeX01PlayerState(completedRound = listOf(Dart(20, 1), Dart(5, 1), Dart(1, 1)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import dartzee.drtOuterTwenty
import dartzee.drtTrebleFourteen
import dartzee.drtTrebleOne
import dartzee.drtTrebleTwenty
import dartzee.game.FinishType
import dartzee.game.X01Config
import dartzee.getRows
import dartzee.helper.AbstractTest
import dartzee.helper.makeGameWrapper
Expand Down Expand Up @@ -144,7 +146,11 @@ class TestStatisticsTabX01ThreeDartAverage : AbstractTest() {
listOf(drtDoubleSixteen()) // Fin.
)

val g = makeGameWrapper(gameParams = "301", dartRounds = rounds)
val g =
makeGameWrapper(
gameParams = X01Config(301, FinishType.Doubles).toJson(),
dartRounds = rounds
)
val tab = StatisticsTabX01ThreeDartAverage()
tab.setFilteredGames(listOf(g), emptyList())
tab.populateStats()
Expand Down

0 comments on commit 113c823

Please sign in to comment.