File tree Expand file tree Collapse file tree
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 Original file line number Diff line number Diff line change 1+
12import com.garbereder.tasktracker.entities.*
23import com.garbereder.tasktracker.usecases.tasks.*
34import com.github.kinquirer.KInquirer
@@ -9,12 +10,12 @@ import kotlin.system.exitProcess
910fun main () {
1011 println (" Welcome to Task-Tracker-CLI" )
1112 val tasks = LoadTasks (object : TaskCollectionReader {
12- override fun read (): TaskCollection {
13- return TaskCollectionImpl ()
14- }
13+ override fun read (): TaskCollection = TaskCollectionImpl ()
1514 }).invoke()
1615
17- val activities: ActivityCollection = ActivityCollectionImpl ()
16+ val activities = LoadActivities (object : ActivityCollectionReader {
17+ override fun read (): ActivityCollection = ActivityCollectionImpl ()
18+ }).invoke()
1819
1920 val addTask: () -> Unit = {
2021 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