@@ -4,14 +4,22 @@ import assertk.assertThat
4
4
import assertk.assertions.isEqualTo
5
5
import com.malinskiy.marathon.apple.test.TestEvent
6
6
import com.malinskiy.marathon.time.Timer
7
- import org.amshove.kluent.internal.assertEquals
8
7
import org.junit.jupiter.api.BeforeEach
9
- import org.junit.jupiter.api.Test
8
+ import org.junit.jupiter.api.extension.ExtensionContext
9
+ import org.junit.jupiter.params.ParameterizedTest
10
+ import org.junit.jupiter.params.provider.Arguments
11
+ import org.junit.jupiter.params.provider.ArgumentsProvider
12
+ import org.junit.jupiter.params.provider.ArgumentsSource
13
+ import org.junit.runner.RunWith
14
+ import org.junit.runners.Parameterized
10
15
import org.mockito.Mockito.reset
11
16
import org.mockito.kotlin.mock
12
17
import org.mockito.kotlin.whenever
18
+ import java.util.stream.Stream
13
19
20
+ @RunWith(Parameterized ::class )
14
21
class TestRunProgressParserTest {
22
+
15
23
private val mockTimer = mock<Timer >()
16
24
private val mockedTimeMillis = 1537187696000L
17
25
@@ -21,114 +29,31 @@ class TestRunProgressParserTest {
21
29
whenever(mockTimer.currentTimeMillis()).thenReturn(mockedTimeMillis)
22
30
}
23
31
24
- @Test
25
- fun testSample1 () {
26
- val parser = TestRunProgressParser (mockTimer, " " )
27
-
28
- val events = mutableListOf<TestEvent >()
29
- javaClass.getResourceAsStream(" /fixtures/test_output/success_0.log.input" ).bufferedReader().use {
30
- it.lines().forEach { line ->
31
- parser.process(line)?.let {
32
- events.addAll(it)
33
- }
34
- }
35
- }
36
-
37
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
38
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/success_0.expected" ).reader().readText().trimEnd())
39
- }
40
-
41
- @Test
42
- fun testSample2 () {
43
- val parser = TestRunProgressParser (mockTimer, " testTarget" )
44
-
45
- val events = mutableListOf<TestEvent >()
46
- javaClass.getResourceAsStream(" /fixtures/test_output/patrol_0.log.input" ).bufferedReader().use {
47
- it.lines().forEach { line ->
48
- parser.process(line)?.let {
49
- events.addAll(it)
50
- }
51
- }
52
- }
53
-
54
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
55
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/patrol_0.expected" ).reader().readText().trimEnd())
56
- }
57
-
58
- @Test
59
- fun testSample3 () {
60
- val parser = TestRunProgressParser (mockTimer, " " )
61
-
62
- val events = mutableListOf<TestEvent >()
63
- javaClass.getResourceAsStream(" /fixtures/test_output/success_multiple_0.log.input" ).bufferedReader().use {
64
- it.lines().forEach { line ->
65
- parser.process(line)?.let {
66
- events.addAll(it)
67
- }
68
- }
69
- }
70
-
71
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
72
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/success_multiple_0.expected" ).reader().readText().trimEnd())
73
- }
74
-
75
- @Test
76
- fun testSample3WithTargetOverride () {
77
- val parser = TestRunProgressParser (mockTimer, " testTarget" )
78
-
79
- val events = mutableListOf<TestEvent >()
80
- javaClass.getResourceAsStream(" /fixtures/test_output/success_multiple_0.log.input" ).bufferedReader().use {
81
- it.lines().forEach { line ->
82
- parser.process(line)?.let {
83
- events.addAll(it)
84
- }
85
- }
32
+ data class TestData (val caseName : String , val targetName : String )
33
+
34
+ class TestDataProvider : ArgumentsProvider {
35
+ override fun provideArguments (context : ExtensionContext ? ): Stream <out Arguments ?>? {
36
+ return Stream .of(
37
+ Arguments .of(TestData (caseName = " success_0" , targetName = " " )),
38
+ Arguments .of(TestData (caseName = " patrol_0" , targetName = " testTarget" )),
39
+ Arguments .of(TestData (caseName = " success_multiple_0" , targetName = " " )),
40
+ Arguments .of(TestData (caseName = " success_multiple_0" , targetName = " testTarget" )),
41
+ Arguments .of(TestData (caseName = " patrol_1" , targetName = " testTarget" )),
42
+ Arguments .of(TestData (caseName = " timeout_0" , targetName = " " )),
43
+ Arguments .of(TestData (caseName = " timeout_1" , targetName = " " )),
44
+ Arguments .of(TestData (caseName = " failure_0" , targetName = " " )),
45
+ Arguments .of(TestData (caseName = " failure_1" , targetName = " " )),
46
+ )
86
47
}
87
-
88
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
89
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/success_multiple_0.expected" ).reader().readText().trimEnd())
90
- }
91
-
92
- @Test
93
- fun testSample4 () {
94
- val parser = TestRunProgressParser (mockTimer, " testTarget" )
95
-
96
- val events = mutableListOf<TestEvent >()
97
- javaClass.getResourceAsStream(" /fixtures/test_output/patrol_1.log.input" ).bufferedReader().use {
98
- it.lines().forEach { line ->
99
- parser.process(line)?.let {
100
- events.addAll(it)
101
- }
102
- }
103
- }
104
-
105
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
106
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/patrol_1.expected" ).reader().readText().trimEnd())
107
- }
108
-
109
- @Test
110
- fun testSample5 () {
111
- val parser = TestRunProgressParser (mockTimer, " " )
112
-
113
- val events = mutableListOf<TestEvent >()
114
- javaClass.getResourceAsStream(" /fixtures/test_output/timeout_0.log.input" ).bufferedReader().use {
115
- it.lines().forEach { line ->
116
- parser.process(line)?.let {
117
- events.addAll(it)
118
- }
119
- }
120
- }
121
-
122
- assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
123
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/timeout_0.expected" ).reader().readText().trimEnd())
124
48
}
125
49
126
- @Test
127
- fun testSample6 () {
128
- val parser = TestRunProgressParser (mockTimer, " " )
50
+ @ParameterizedTest(name = " {0}" )
51
+ @ArgumentsSource(TestDataProvider ::class )
52
+ fun test (testData : TestData ) {
53
+ val parser = TestRunProgressParser (mockTimer, testData.targetName)
129
54
130
55
val events = mutableListOf<TestEvent >()
131
- javaClass.getResourceAsStream(" /fixtures/test_output/timeout_1 .log.input" ).bufferedReader().use {
56
+ javaClass.getResourceAsStream(" /fixtures/test_output/${testData.caseName} .log.input" ).bufferedReader().use {
132
57
it.lines().forEach { line ->
133
58
parser.process(line)?.let {
134
59
events.addAll(it)
@@ -137,6 +62,6 @@ class TestRunProgressParserTest {
137
62
}
138
63
139
64
assertThat(events.map { it.toString() }.reduce { acc, s -> acc + " \n " + s })
140
- .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/timeout_1 .expected" ).reader().readText().trimEnd())
65
+ .isEqualTo(javaClass.getResourceAsStream(" /fixtures/test_output/${testData.caseName} .expected" ).reader().readText().trimEnd())
141
66
}
142
67
}
0 commit comments