Update project structure and impl all domain layer
This commit is contained in:
@@ -4,6 +4,6 @@ import java.util.Date
|
||||
|
||||
data class FileProps(
|
||||
val fileName: String,
|
||||
val size: Int,
|
||||
val dateOfCreation: Date
|
||||
val size: Long,
|
||||
val lastModify: Date
|
||||
)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.megboyzz.devmenu.domain.entities
|
||||
|
||||
data class TrackingData(
|
||||
val enabled: Boolean,
|
||||
val pathToSave: String
|
||||
)
|
||||
+1
-2
@@ -4,7 +4,6 @@ import com.megboyzz.devmenu.domain.entities.GameLang
|
||||
|
||||
interface SettingsRepository {
|
||||
|
||||
fun setGameLang(lang: GameLang): Boolean
|
||||
|
||||
var gameLang: GameLang
|
||||
|
||||
}
|
||||
+7
-1
@@ -1,7 +1,13 @@
|
||||
package com.megboyzz.devmenu.domain.repository
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.TrackingData
|
||||
|
||||
interface TrackingRepository {
|
||||
|
||||
fun setTracking(enabled: Boolean, pathToSave: String): Boolean
|
||||
var trackingData: TrackingData
|
||||
|
||||
fun startTracking()
|
||||
|
||||
fun stopTracking()
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.megboyzz.devmenu.domain.usecases
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.devmenuId
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import java.io.File
|
||||
import javax.inject.Inject
|
||||
|
||||
class IsDevMenuEnabledUseCase @Inject constructor(
|
||||
private val filesRepository: FilesRepository
|
||||
) {
|
||||
operator fun invoke() = File(filesRepository.externalRoot, devmenuId).exists()
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.megboyzz.devmenu.domain.usecases
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.TrackingRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
class StartTrackingUseCase @Inject constructor(
|
||||
private val trackingRepository: TrackingRepository
|
||||
) {
|
||||
|
||||
operator fun invoke(){
|
||||
|
||||
if(trackingRepository.trackingData.enabled)
|
||||
trackingRepository.startTracking()
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.megboyzz.devmenu.domain.usecases
|
||||
|
||||
import com.megboyzz.devmenu.domain.repository.TrackingRepository
|
||||
import javax.inject.Inject
|
||||
class StopTrackingUseCase @Inject constructor(
|
||||
private val trackingRepository: TrackingRepository
|
||||
) {
|
||||
|
||||
operator fun invoke() = trackingRepository.stopTracking()
|
||||
|
||||
}
|
||||
+3
-1
@@ -8,6 +8,8 @@ class SetGameLangUseCase @Inject constructor(
|
||||
private val settingsRepository: SettingsRepository
|
||||
) {
|
||||
|
||||
operator fun invoke(gameLang: GameLang) = settingsRepository.setGameLang(gameLang)
|
||||
operator fun invoke(gameLang: GameLang){
|
||||
settingsRepository.gameLang = gameLang
|
||||
}
|
||||
|
||||
}
|
||||
+4
-2
@@ -1,5 +1,6 @@
|
||||
package com.megboyzz.devmenu.domain.usecases.settings
|
||||
|
||||
import com.megboyzz.devmenu.domain.entities.TrackingData
|
||||
import com.megboyzz.devmenu.domain.repository.TrackingRepository
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -7,7 +8,8 @@ class SetTrackingSaveFileUseCase @Inject constructor(
|
||||
private val trackingRepository: TrackingRepository
|
||||
) {
|
||||
|
||||
operator fun invoke(enabled: Boolean, pathToSave: String) =
|
||||
trackingRepository.setTracking(enabled, pathToSave)
|
||||
operator fun invoke(enabled: Boolean, pathToSave: String) {
|
||||
trackingRepository.trackingData = TrackingData(enabled, pathToSave)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
import com.megboyzz.devmenu.domain.repository.FilesRepository
|
||||
import com.megboyzz.devmenu.domain.repository.ReplacementRepository
|
||||
import com.megboyzz.devmenu.domain.repository.SaveRepository
|
||||
import com.megboyzz.devmenu.domain.repository.SvmwRepository
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import java.io.File
|
||||
|
||||
class UseCaseTest {
|
||||
|
||||
private val filesRepository = mock(FilesRepository::class.java)
|
||||
private val replacementRepository = mock(ReplacementRepository::class.java)
|
||||
private val saveRepository = mock(SaveRepository::class.java)
|
||||
private val svmwRepository = mock(SvmwRepository::class.java)
|
||||
|
||||
private val externalFile = File("D:\\NFSMW Online\\com.ea.games.nfs13_na")
|
||||
private val internalFile = File("D:\\NFSMW Online")
|
||||
|
||||
init {
|
||||
|
||||
`when`(filesRepository.externalRoot).thenReturn(externalFile)
|
||||
`when`(filesRepository.internalRoot).thenReturn(internalFile)
|
||||
|
||||
|
||||
//`when`(replacementRepository.getAllReplacements()).thenReturn()
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user