File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
Task-Tracker-Usecases/src
commonMain/kotlin/com/garbereder/tasktracker/usecases/tasks
commonTest/kotlin/com/garbereder/tasktracker/usecases/tasks Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com.garbereder.tasktracker.usecases.tasks
2
+
3
+ import com.garbereder.tasktracker.entities.Task
4
+ import com.garbereder.tasktracker.entities.TaskCollection
5
+ import com.garbereder.tasktracker.usecases.UseCase
6
+
7
+ class ListTasks (private val collection : TaskCollection ): UseCase<Iterator<Task>> {
8
+ override fun invoke (): Iterator <Task > = collection.iterator()
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.Task
4
+ import com.garbereder.tasktracker.entities.TaskCollection
5
+ import io.mockative.*
6
+ import kotlin.test.Test
7
+ import kotlin.test.assertEquals
8
+ import kotlin.test.assertFalse
9
+ import kotlin.test.assertTrue
10
+
11
+ class ListTasksTests {
12
+ @Mock
13
+ val collection = mock(classOf<TaskCollection >())
14
+
15
+ @Test
16
+ fun invoke_noInput_callsThrough () {
17
+ val tasks = listOf (
18
+ Task (" 1" ," TaskName" ),
19
+ Task (" 1" ," TaskName2" )
20
+ )
21
+ given(collection).invocation { iterator() }
22
+ .then { tasks.iterator() }
23
+
24
+ val it = ListTasks (collection).invoke()
25
+
26
+ verify(collection).invocation { iterator() }
27
+ .wasInvoked(exactly = once)
28
+
29
+ assertTrue ( it.hasNext() )
30
+ assertEquals(tasks[0 ], it.next())
31
+ assertEquals(tasks[1 ], it.next())
32
+ assertFalse ( it.hasNext() )
33
+ }
34
+ }
You can’t perform that action at this time.
0 commit comments