Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull out abstract E2E test #311

Merged
merged 2 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions src/test/kotlin/dartzee/e2e/AbstractE2ETest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package dartzee.e2e

import dartzee.helper.AbstractRegistryTest
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag

@Tag("e2e")
open class AbstractE2ETest : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(
PREFERENCES_INT_AI_SPEED,
PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE,
PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
)

@BeforeEach
open fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, false)
}
}
9 changes: 4 additions & 5 deletions src/test/kotlin/dartzee/e2e/SimulationE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import dartzee.core.bean.NumberField
import dartzee.core.bean.ScrollTable
import dartzee.game.GameType
import dartzee.getRows
import dartzee.helper.AbstractTest
import dartzee.helper.beastDartsModel
import dartzee.helper.insertPlayer
import dartzee.screen.ai.AISimulationSetupDialog
Expand All @@ -22,17 +21,17 @@ import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class SimulationE2E : AbstractTest() {
class SimulationE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
override fun beforeEach() {
super.beforeEach()

InjectedThings.simulationRunner = SimulationRunner()
}

@Test
@Tag("e2e")
fun `Should be able to run a simulation of 500 games`() {
val model = beastDartsModel()
val player = insertPlayer(model = model)
Expand Down
19 changes: 4 additions & 15 deletions src/test/kotlin/dartzee/e2e/SyncE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import dartzee.db.PlayerEntity
import dartzee.game.GameLaunchParams
import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.TEST_DB_DIRECTORY
import dartzee.helper.TEST_ROOT
Expand All @@ -34,9 +33,6 @@ import dartzee.sync.SyncManager
import dartzee.utils.DartsDatabaseUtil
import dartzee.utils.Database
import dartzee.utils.InjectedThings
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import java.io.File
Expand All @@ -45,15 +41,13 @@ import javax.swing.JButton
import javax.swing.JOptionPane
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class SyncE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class SyncE2E : AbstractE2ETest() {
@BeforeEach
fun before() {
override fun beforeEach() {
super.beforeEach()

InjectedThings.databaseDirectory = TEST_DB_DIRECTORY
InjectedThings.mainDatabase = Database(dbName = UUID.randomUUID().toString())
DartsDatabaseUtil.initialiseDatabase(InjectedThings.mainDatabase)
Expand All @@ -63,9 +57,6 @@ class SyncE2E : AbstractRegistryTest() {
InjectedThings.syncConfigurer = SyncConfigurer(store)

File(TEST_DB_DIRECTORY).mkdirs()

PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 50)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
}

@AfterEach
Expand All @@ -74,7 +65,6 @@ class SyncE2E : AbstractRegistryTest() {
File(TEST_ROOT).deleteRecursively()
}

@Tag("e2e")
@Test
fun `Syncing two games with same local ID`() {
val (winner, loser) = createPlayers()
Expand Down Expand Up @@ -108,7 +98,6 @@ class SyncE2E : AbstractRegistryTest() {
x01Wins.size shouldBe 2
}

@Tag("e2e")
@Test
fun `Syncing deleted data`() {
val (winner, loser) = createPlayers()
Expand Down
16 changes: 1 addition & 15 deletions src/test/kotlin/dartzee/e2e/TestDartzeeE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import dartzee.dartzee.DartzeeCalculator
import dartzee.db.DartzeeRoundResultEntity
import dartzee.game.GameType
import dartzee.game.prepareParticipants
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AchievementSummary
import dartzee.helper.allTwenties
import dartzee.helper.beastDartsModel
Expand All @@ -23,27 +22,15 @@ import dartzee.helper.totalIsFifty
import dartzee.`object`.Dart
import dartzee.`object`.SegmentType
import dartzee.utils.InjectedThings
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import dartzee.utils.insertDartzeeRules
import dartzee.zipDartRounds
import io.kotest.matchers.collections.shouldBeEmpty
import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.shouldBe
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestDartzeeE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestDartzeeE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Dartzee`() {
InjectedThings.dartzeeCalculator = DartzeeCalculator()

Expand Down Expand Up @@ -86,7 +73,6 @@ class TestDartzeeE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - Dartzee - 2 player team`() {
InjectedThings.dartzeeCalculator = DartzeeCalculator()

Expand Down
13 changes: 3 additions & 10 deletions src/test/kotlin/dartzee/e2e/TestGameLoadE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,29 @@ import dartzee.game.GameLaunchParams
import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.getRows
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.retrieveGame
import dartzee.helper.retrieveParticipant
import dartzee.`object`.Dart
import dartzee.screen.ScreenCache
import dartzee.screen.game.AbstractDartsGameScreen
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import javax.swing.SwingUtilities
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestGameLoadE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class TestGameLoadE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
override fun beforeEach() {
super.beforeEach()
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
}

@Test
@Tag("e2e")
fun `E2E - Game load and AI resume`() {
val (winner, loser) = createPlayers()

Expand Down
17 changes: 1 addition & 16 deletions src/test/kotlin/dartzee/e2e/TestGolfE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import dartzee.drtTrebleFour
import dartzee.drtTrebleSeventeen
import dartzee.game.GameType
import dartzee.game.prepareParticipants
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AchievementSummary
import dartzee.helper.beastDartsModel
import dartzee.helper.insertGame
Expand All @@ -43,24 +42,12 @@ import dartzee.helper.predictableDartsModel
import dartzee.helper.retrieveAchievementsForPlayer
import dartzee.helper.retrieveTeam
import dartzee.`object`.Dart
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import dartzee.zipDartRounds
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestGolfE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestGolfE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Golf`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "18")

Expand All @@ -87,7 +74,6 @@ class TestGolfE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - Golf - Gambler, stop threshold`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")
val (gamePanel, listener) = setUpGamePanel(game)
Expand Down Expand Up @@ -136,7 +122,6 @@ class TestGolfE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `E2E - 9 holes - Team of 2`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")
val (gamePanel, listener) = setUpGamePanel(game)
Expand Down
13 changes: 3 additions & 10 deletions src/test/kotlin/dartzee/e2e/TestMatchE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import dartzee.game.GameLauncher
import dartzee.game.GameType
import dartzee.game.MatchMode
import dartzee.game.X01Config
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.insertDartsMatch
import dartzee.helper.retrieveDartsMatch
Expand All @@ -21,29 +20,23 @@ import dartzee.screen.game.MatchSummaryPanel
import dartzee.screen.game.scorer.MatchScorer
import dartzee.screen.game.x01.X01MatchScreen
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.collections.shouldContain
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import javax.swing.JTabbedPane
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestMatchE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

class TestMatchE2E : AbstractE2ETest() {
@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 0)
override fun beforeEach() {
super.beforeEach()
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, false)
}

@Test
@Tag("e2e")
fun `E2E - Two game match`() {
val match = insertDartsMatch(games = 2, matchParams = "", mode = MatchMode.FIRST_TO)
match.gameType = GameType.X01
Expand Down
19 changes: 1 addition & 18 deletions src/test/kotlin/dartzee/e2e/TestResignationE2E.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,16 @@ import dartzee.game.GameType
import dartzee.game.X01Config
import dartzee.game.state.IWrappedParticipant
import dartzee.getQuestionDialog
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.insertGame
import dartzee.helper.insertPlayer
import dartzee.`object`.SegmentType
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.ints.shouldBeGreaterThan
import io.kotest.matchers.shouldBe
import javax.swing.JButton
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestResignationE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() =
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
}

class TestResignationE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `Resigning mid-game - X01`() {
val game =
insertGame(
Expand Down Expand Up @@ -65,7 +49,6 @@ class TestResignationE2E : AbstractRegistryTest() {
}

@Test
@Tag("e2e")
fun `Resigning mid-game - Golf`() {
val game = insertGame(gameType = GameType.GOLF, gameParams = "9")

Expand Down
15 changes: 1 addition & 14 deletions src/test/kotlin/dartzee/e2e/TestResizeE2E.kt
Original file line number Diff line number Diff line change
@@ -1,30 +1,17 @@
package dartzee.e2e

import dartzee.game.GameType
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.DEFAULT_X01_CONFIG
import dartzee.helper.beastDartsModel
import dartzee.helper.insertGame
import dartzee.helper.insertPlayer
import dartzee.`object`.Dart
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PreferenceUtil
import io.kotest.matchers.comparables.shouldBeLessThan
import java.awt.Dimension
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Test

class TestResizeE2E : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_INT_AI_SPEED)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 100)
}

class TestResizeE2E : AbstractE2ETest() {
@Test
@Tag("e2e")
fun `E2E - Small dartboard`() {
val game = insertGame(gameType = GameType.X01, gameParams = DEFAULT_X01_CONFIG.toJson())

Expand Down
Loading