@@ -7,6 +7,7 @@ import org.junit.Assert.assertEquals
7
7
import org.junit.Test
8
8
import java.io.OutputStream
9
9
import java.io.PrintStream
10
+ import java.util.concurrent.atomic.AtomicInteger
10
11
11
12
class CapturingStreamTests {
12
13
private val nullOStream = object : OutputStream () {
@@ -58,44 +59,41 @@ class CapturingStreamTests {
58
59
val contents = " 0123456789\n fortran" .toByteArray()
59
60
val expected = arrayOf(" 012" , " 345" , " 678" , " 9\n " , " for" , " tra" , " n" )
60
61
61
- var i = 0
62
+ val i = AtomicInteger ()
62
63
val s = getStream(maxBufferSize = 3 ) {
63
- assertEquals(expected[i], it)
64
- ++ i
64
+ assertEquals(expected[i.getAndIncrement()], it)
65
65
}
66
66
67
67
s.write(contents)
68
68
s.flush()
69
69
70
- assertEquals(expected.size, i)
70
+ assertEquals(expected.size, i.get() )
71
71
}
72
72
73
73
@Test
74
74
fun testNewlineBufferSize () {
75
75
val contents = " 12345\n 12\n 3451234567890" .toByteArray()
76
76
val expected = arrayOf(" 12345\n " , " 12\n " , " 345123456" , " 7890" )
77
77
78
- var i = 0
78
+ val i = AtomicInteger ()
79
79
val s = getStream(maxBufferSize = 9 , maxBufferNewlineSize = 6 ) {
80
- assertEquals(expected[i], it)
81
- ++ i
80
+ assertEquals(expected[i.getAndIncrement()], it)
82
81
}
83
82
84
83
s.write(contents)
85
84
s.flush()
86
85
87
- assertEquals(expected.size, i)
86
+ assertEquals(expected.size, i.get() )
88
87
}
89
88
90
89
@Test
91
90
fun testMaxBufferLifeTime () {
92
91
val strings = arrayOf(" 11" , " 22" , " 33" , " 44" , " 55" , " 66" )
93
92
val expected = arrayOf(" 1122" , " 3344" , " 5566" )
94
93
95
- var i = 0
94
+ val i = AtomicInteger ( 0 )
96
95
val s = getStream(maxBufferLifeTimeMs = 1000 ) {
97
- assertEquals(expected[i], it)
98
- ++ i
96
+ assertEquals(expected[i.getAndIncrement()], it)
99
97
}
100
98
101
99
strings.forEach {
@@ -105,6 +103,6 @@ class CapturingStreamTests {
105
103
106
104
s.flush()
107
105
108
- assertEquals(expected.size, i)
106
+ assertEquals(expected.size, i.get() )
109
107
}
110
108
}
0 commit comments