Skip to content

Commit

Permalink
start porting old -> new
Browse files Browse the repository at this point in the history
  • Loading branch information
alyssaruth committed Mar 8, 2024
1 parent 7615d97 commit 66dcb47
Show file tree
Hide file tree
Showing 11 changed files with 40 additions and 68 deletions.
8 changes: 4 additions & 4 deletions src/main/kotlin/dartzee/core/util/DartboardDodgyUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ package dartzee.core.util

import dartzee.logging.CODE_AUDIO_ERROR
import dartzee.logging.CODE_RESOURCE_CACHE_NOT_INITIALISED
import dartzee.preferences.Preferences
import dartzee.screen.GameplayDartboard
import dartzee.screen.LAYER_DODGY
import dartzee.utils.InjectedThings.logger
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PreferenceUtil
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.ResourceCache
import java.util.*
import javax.sound.sampled.AudioInputStream
Expand Down Expand Up @@ -66,7 +66,7 @@ fun GameplayDartboard.doGolfMiss() {
}

private fun GameplayDartboard.doDodgy(ii: ImageIcon, width: Int, height: Int, soundName: String) {
if (!PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS)) {
if (!preferenceService.get(Preferences.showAnimations)) {
return
}

Expand Down Expand Up @@ -100,7 +100,7 @@ private fun GameplayDartboard.doDodgyOnEdt(
}

fun GameplayDartboard.playDodgySound(soundName: String) {
if (!PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS)) {
if (!preferenceService.get(Preferences.showAnimations)) {
return
}

Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/dartzee/object/DartsClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import dartzee.logging.CODE_JUST_UPDATED
import dartzee.logging.CODE_MEMORY_SETTINGS
import dartzee.logging.CODE_UNEXPECTED_ARGUMENT
import dartzee.logging.CODE_UPDATE_CHECK
import dartzee.preferences.Preferences
import dartzee.utils.DARTS_VERSION_NUMBER
import dartzee.utils.InjectedThings.logger
import dartzee.utils.PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES
import dartzee.utils.PreferenceUtil
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.UpdateManager
import java.util.*

Expand Down Expand Up @@ -59,7 +59,7 @@ object DartsClient {
return
}

if (!PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES)) {
if (!preferenceService.get(Preferences.checkForUpdates)) {
logger.info(CODE_UPDATE_CHECK, "Not checking for updates: preference disabled")
return
}
Expand Down
13 changes: 0 additions & 13 deletions src/main/kotlin/dartzee/screen/ai/AISetupRuleFactory.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package dartzee.screen.preference
import dartzee.bean.SliderAiSpeed
import dartzee.core.bean.NumberField
import dartzee.core.util.setFontSize
import dartzee.preferences.Preferences
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
import dartzee.utils.PreferenceUtil
Expand Down Expand Up @@ -68,9 +68,9 @@ class PreferencesPanelMisc :
chckbxAiAutomaticallyFinish.isSelected =
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, useDefaults)
chckbxCheckForUpdates.isSelected =
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES, useDefaults)
preferenceService.get(Preferences.checkForUpdates, useDefaults)
chckbxShowAnimations.isSelected =
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, useDefaults)
preferenceService.get(Preferences.showAnimations, useDefaults)
}

override fun saveImpl() {
Expand All @@ -84,10 +84,10 @@ class PreferencesPanelMisc :
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, aiAuto)

val checkForUpdates = chckbxCheckForUpdates.isSelected
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES, checkForUpdates)
preferenceService.save(Preferences.checkForUpdates, checkForUpdates)

val showAnimations = chckbxShowAnimations.isSelected
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, showAnimations)
preferenceService.save(Preferences.showAnimations, showAnimations)
}

override fun hasOutstandingChanges() =
Expand All @@ -97,9 +97,8 @@ class PreferencesPanelMisc :
chckbxAiAutomaticallyFinish.isSelected !=
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE) ||
chckbxCheckForUpdates.isSelected !=
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES) ||
chckbxShowAnimations.isSelected !=
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS)
preferenceService.get(Preferences.checkForUpdates) ||
chckbxShowAnimations.isSelected != preferenceService.get(Preferences.showAnimations)

override fun stateChanged(e: ChangeEvent?) = stateChanged()

Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/dartzee/utils/InjectedThings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import dartzee.logging.LogDestinationSystemOut
import dartzee.logging.Logger
import dartzee.logging.LoggerFactory
import dartzee.logging.LoggingConsole
import dartzee.screen.ai.AISetupRuleFactory
import dartzee.screen.ai.IAISetupRuleFactory
import dartzee.preferences.AbstractPreferenceService
import dartzee.preferences.DefaultPreferenceService
import dartzee.sync.AmazonS3RemoteDatabaseStore
import dartzee.sync.IRemoteDatabaseStore
import dartzee.sync.SYNC_BUCKET_NAME
Expand All @@ -36,11 +36,11 @@ object InjectedThings {
var logger: Logger = Logger(listOf(loggingConsole, LogDestinationSystemOut(), esDestination))
var gameLauncher: GameLauncher = GameLauncher()
var dartzeeAimCalculator: DartzeeAimCalculator = DartzeeAimCalculator()
var aiSetupRuleFactory: IAISetupRuleFactory = AISetupRuleFactory()
var simulationRunner: SimulationRunner = SimulationRunner()
private val remoteDatabaseStore: IRemoteDatabaseStore =
AmazonS3RemoteDatabaseStore(SYNC_BUCKET_NAME)
var syncConfigurer: SyncConfigurer = SyncConfigurer(remoteDatabaseStore)
var syncManager: SyncManager = SyncManager(remoteDatabaseStore)
var preferenceService: AbstractPreferenceService = DefaultPreferenceService()
var partyMode = false
}
2 changes: 0 additions & 2 deletions src/main/kotlin/dartzee/utils/RegistryConstants.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ val PREFERENCES_STRING_EVEN_DOUBLE_COLOUR = "evendoub;$DARTBOARD_RED_STR"
val PREFERENCES_STRING_EVEN_TREBLE_COLOUR = "eventreb;$DARTBOARD_RED_STR"

const val PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE = "aiauto;true"
const val PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES = "chkupd;true"
const val PREFERENCES_BOOLEAN_SHOW_ANIMATIONS = "anim;true"

const val PREFERENCES_INT_AI_SPEED = "aispd;1000"
const val PREFERENCES_INT_LEADERBOARD_SIZE = "ldbrdsz;50"
Expand Down
17 changes: 5 additions & 12 deletions src/test/kotlin/dartzee/core/util/TestDartboardDodgyUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import com.github.alyssaburlton.swingtest.flushEdt
import com.github.alyssaburlton.swingtest.getChild
import com.github.alyssaburlton.swingtest.shouldBeVisible
import dartzee.core.helper.verifyNotCalled
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AbstractTest
import dartzee.logging.CODE_AUDIO_ERROR
import dartzee.logging.Severity
import dartzee.preferences.Preferences
import dartzee.screen.GameplayDartboard
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PreferenceUtil
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.ResourceCache
import io.kotest.matchers.nulls.shouldBeNull
import io.kotest.matchers.nulls.shouldNotBeNull
Expand All @@ -28,22 +28,15 @@ import javax.sound.sampled.LineListener
import javax.swing.JLabel
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test

class TestDartboardDodgyUtil : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS)

@BeforeEach
fun beforeEach() {
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, true)
}
class TestDartboardDodgyUtil : AbstractTest() {

@Test
fun `should not play a sound if preference is disabled`() {
mockkStatic(AudioSystem::class)

PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, false)
preferenceService.save(Preferences.showAnimations, false)
val dartboard = GameplayDartboard()
dartboard.playDodgySound("60")

Expand Down
11 changes: 4 additions & 7 deletions src/test/kotlin/dartzee/e2e/AbstractE2ETest.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package dartzee.e2e

import dartzee.helper.AbstractRegistryTest
import dartzee.preferences.Preferences
import dartzee.utils.InjectedThings.preferenceService
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
Expand All @@ -11,16 +12,12 @@ 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
)
listOf(PREFERENCES_INT_AI_SPEED, PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE)

@BeforeEach
open fun beforeEach() {
PreferenceUtil.saveInt(PREFERENCES_INT_AI_SPEED, 50)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE, true)
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS, false)
preferenceService.save(Preferences.showAnimations, false)
}
}
2 changes: 2 additions & 0 deletions src/test/kotlin/dartzee/helper/AbstractTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import dartzee.logging.Logger
import dartzee.logging.LoggingCode
import dartzee.logging.Severity
import dartzee.`object`.DartsClient
import dartzee.preferences.InMemoryPreferenceService
import dartzee.screen.ScreenCache
import dartzee.utils.DartsDatabaseUtil
import dartzee.utils.InjectedThings
Expand Down Expand Up @@ -54,6 +55,7 @@ open class AbstractTest {
InjectedThings.esDestination = mockk(relaxed = true)
InjectedThings.dartzeeCalculator = FakeDartzeeCalculator()
InjectedThings.partyMode = false
InjectedThings.preferenceService = InMemoryPreferenceService()

logger.loggingContext.clear()
}
Expand Down
14 changes: 6 additions & 8 deletions src/test/kotlin/dartzee/object/TestDartsClient.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package dartzee.`object`

import dartzee.core.helper.verifyNotCalled
import dartzee.helper.AbstractRegistryTest
import dartzee.helper.AbstractTest
import dartzee.logging.CODE_JUST_UPDATED
import dartzee.logging.CODE_UNEXPECTED_ARGUMENT
import dartzee.logging.CODE_UPDATE_CHECK
import dartzee.logging.Severity
import dartzee.preferences.Preferences
import dartzee.utils.DARTS_VERSION_NUMBER
import dartzee.utils.PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES
import dartzee.utils.PreferenceUtil
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.UpdateManager
import io.kotest.matchers.shouldBe
import io.kotest.matchers.string.shouldContain
Expand All @@ -17,9 +17,7 @@ import io.mockk.mockk
import io.mockk.verify
import org.junit.jupiter.api.Test

class TestDartsClient : AbstractRegistryTest() {
override fun getPreferencesAffected() = listOf(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES)

class TestDartsClient : AbstractTest() {
@Test
fun `Should log unexpected arguments`() {
DartsClient.parseProgramArguments(arrayOf("foo"))
Expand Down Expand Up @@ -109,7 +107,7 @@ class TestDartsClient : AbstractRegistryTest() {
fun `Should not check for updates if preference is unset`() {
DartsClient.devMode = false
DartsClient.justUpdated = false
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES, false)
preferenceService.save(Preferences.checkForUpdates, false)

val mock = mockk<UpdateManager>(relaxed = true)
DartsClient.updateManager = mock
Expand All @@ -125,7 +123,7 @@ class TestDartsClient : AbstractRegistryTest() {
fun `Should check for updates if necessary`() {
DartsClient.devMode = false
DartsClient.justUpdated = false
PreferenceUtil.saveBoolean(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES, true)
preferenceService.save(Preferences.checkForUpdates, true)

val mock = mockk<UpdateManager>(relaxed = true)
DartsClient.updateManager = mock
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dartzee.screen.preference

import com.github.alyssaburlton.swingtest.uncheck
import dartzee.preferences.Preferences
import dartzee.utils.InjectedThings.preferenceService
import dartzee.utils.PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
import dartzee.utils.PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES
import dartzee.utils.PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
import dartzee.utils.PREFERENCES_INT_AI_SPEED
import dartzee.utils.PREFERENCES_INT_LEADERBOARD_SIZE
import dartzee.utils.PreferenceUtil
Expand All @@ -14,9 +14,7 @@ class TestPreferencesPanelMisc : AbstractPreferencePanelTest<PreferencesPanelMis
return mutableListOf(
PREFERENCES_INT_AI_SPEED,
PREFERENCES_INT_LEADERBOARD_SIZE,
PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE,
PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES,
PREFERENCES_BOOLEAN_SHOW_ANIMATIONS
PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE
)
}

Expand All @@ -43,8 +41,8 @@ class TestPreferencesPanelMisc : AbstractPreferencePanelTest<PreferencesPanelMis
PreferenceUtil.getIntValue(PREFERENCES_INT_AI_SPEED) shouldBe 20
PreferenceUtil.getIntValue(PREFERENCES_INT_LEADERBOARD_SIZE) shouldBe 100
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_AI_AUTO_CONTINUE) shouldBe false
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_CHECK_FOR_UPDATES) shouldBe false
PreferenceUtil.getBooleanValue(PREFERENCES_BOOLEAN_SHOW_ANIMATIONS) shouldBe false
preferenceService.get(Preferences.checkForUpdates) shouldBe false
preferenceService.get(Preferences.showAnimations) shouldBe false
}

override fun checkUiFieldValuesAreDefaults(panel: PreferencesPanelMisc) {
Expand Down

0 comments on commit 66dcb47

Please sign in to comment.