File tree Expand file tree Collapse file tree 4 files changed +46
-4
lines changed
Task-Tracker-CLI/src/main/kotlin
Task-Tracker-Usecases/src
commonMain/kotlin/com/garbereder/tasktracker/usecases/tasks
commonTest/kotlin/com/garbereder/tasktracker/usecases/tasks Expand file tree Collapse file tree 4 files changed +46
-4
lines changed Original file line number Diff line number Diff line change
1
+
1
2
import com.garbereder.tasktracker.entities.*
2
3
import com.garbereder.tasktracker.usecases.tasks.*
3
4
import com.github.kinquirer.KInquirer
@@ -9,12 +10,12 @@ import kotlin.system.exitProcess
9
10
fun main () {
10
11
println (" Welcome to Task-Tracker-CLI" )
11
12
val tasks = LoadTasks (object : TaskCollectionReader {
12
- override fun read (): TaskCollection {
13
- return TaskCollectionImpl ()
14
- }
13
+ override fun read (): TaskCollection = TaskCollectionImpl ()
15
14
}).invoke()
16
15
17
- val activities: ActivityCollection = ActivityCollectionImpl ()
16
+ val activities = LoadActivities (object : ActivityCollectionReader {
17
+ override fun read (): ActivityCollection = ActivityCollectionImpl ()
18
+ }).invoke()
18
19
19
20
val addTask: () -> Unit = {
20
21
val taskName = KInquirer .promptInput(" Task name:" )
Original file line number Diff line number Diff line change
1
+ package com.garbereder.tasktracker.usecases.tasks
2
+
3
+ import com.garbereder.tasktracker.entities.ActivityCollection
4
+
5
+ interface ActivityCollectionReader {
6
+ fun read (): ActivityCollection
7
+ }
Original file line number Diff line number Diff line change
1
+ package com.garbereder.tasktracker.usecases.tasks
2
+
3
+ import com.garbereder.tasktracker.entities.ActivityCollection
4
+ import com.garbereder.tasktracker.usecases.UseCase
5
+
6
+ class LoadActivities (private val reader : ActivityCollectionReader ): UseCase<ActivityCollection> {
7
+ override fun invoke (): ActivityCollection = reader.read()
8
+
9
+ }
Original file line number Diff line number Diff line change
1
+ package com.garbereder.tasktracker.usecases.tasks
2
+
3
+ import com.garbereder.tasktracker.entities.ActivityCollection
4
+ import io.mockative.*
5
+ import kotlin.test.Test
6
+ import kotlin.test.assertEquals
7
+
8
+ class LoadActivitiesTests {
9
+ @Mock
10
+ val reader = mock(classOf<ActivityCollectionReader >())
11
+ @Mock
12
+ val collection = mock(classOf<ActivityCollection >())
13
+ @Test
14
+ fun invoke_noInput_callsThrough () {
15
+ given(reader).invocation { read() }
16
+ .then { collection }
17
+
18
+ val col = LoadActivities (reader).invoke()
19
+ assertEquals(collection, col)
20
+
21
+ verify(reader).invocation { read() }
22
+ .wasInvoked(exactly = once)
23
+ }
24
+
25
+ }
You can’t perform that action at this time.
0 commit comments