@@ -6,10 +6,11 @@ package kotlinx.coroutines.tasks
6
6
7
7
import com.google.android.gms.tasks.*
8
8
import kotlinx.coroutines.*
9
- import org.hamcrest.core.*
10
9
import org.junit.*
10
+ import org.junit.Test
11
11
import java.util.concurrent.locks.*
12
12
import kotlin.concurrent.*
13
+ import kotlin.test.*
13
14
14
15
class TaskTest : TestBase () {
15
16
@Before
@@ -26,7 +27,7 @@ class TaskTest : TestBase() {
26
27
}
27
28
expect(3 )
28
29
val task = deferred.asTask()
29
- Assert .assertThat( task.await(), IsEqual ( " OK " ))
30
+ assertEquals( " OK " , task.await())
30
31
finish(4 )
31
32
}
32
33
@@ -39,7 +40,7 @@ class TaskTest : TestBase() {
39
40
}
40
41
expect(2 )
41
42
val task = deferred.asTask()
42
- Assert .assertThat( task.await(), IsEqual ( " OK " ))
43
+ assertEquals( " OK " , task.await())
43
44
finish(4 )
44
45
}
45
46
@@ -53,23 +54,20 @@ class TaskTest : TestBase() {
53
54
try {
54
55
runTest { task.await() }
55
56
} catch (e: Exception ) {
56
- Assert . assertTrue(e is CancellationException )
57
- Assert . assertTrue(task.isCanceled)
57
+ assertTrue(e is CancellationException )
58
+ assertTrue(task.isCanceled)
58
59
}
59
60
}
60
61
61
62
@Test
62
63
fun testThrowingAsTask () {
63
64
val deferred = GlobalScope .async {
64
- throw OutOfMemoryError ( )
65
+ throw TestException ( " Fail " )
65
66
}
66
67
67
68
val task = deferred.asTask()
68
- try {
69
- runTest { task.await() }
70
- } catch (e: RuntimeExecutionException ) {
71
- Assert .assertFalse(task.isSuccessful)
72
- Assert .assertTrue(e.cause?.cause is OutOfMemoryError )
69
+ runTest(expected = { it is TestException }) {
70
+ task.await()
73
71
}
74
72
}
75
73
@@ -81,47 +79,47 @@ class TaskTest : TestBase() {
81
79
lock.withLock { 42 }
82
80
}.asDeferred()
83
81
84
- Assert . assertFalse(deferred.isCompleted)
82
+ assertFalse(deferred.isCompleted)
85
83
lock.unlock()
86
84
87
- Assert . assertEquals(42 , deferred.await())
88
- Assert . assertTrue(deferred.isCompleted)
85
+ assertEquals(42 , deferred.await())
86
+ assertTrue(deferred.isCompleted)
89
87
}
90
88
91
89
@Test
92
90
fun testTaskAsDeferred () = runTest {
93
91
val deferred = Tasks .forResult(42 ).asDeferred()
94
- Assert . assertEquals(42 , deferred.await())
92
+ assertEquals(42 , deferred.await())
95
93
}
96
94
97
95
@Test
98
96
fun testCancelledTaskAsDeferred () = runTest {
99
97
val deferred = Tasks .forCanceled<Int >().asDeferred()
100
98
101
- Assert . assertTrue(deferred.isCancelled)
99
+ assertTrue(deferred.isCancelled)
102
100
try {
103
101
deferred.await()
104
- Assert . fail(" deferred.await() should be cancelled" )
102
+ fail(" deferred.await() should be cancelled" )
105
103
} catch (e: Exception ) {
106
- Assert . assertTrue(e is CancellationException )
104
+ assertTrue(e is CancellationException )
107
105
}
108
106
}
109
107
110
108
@Test
111
109
fun testFailedTaskAsDeferred () = runTest {
112
110
val deferred = Tasks .forException<Int >(TestException (" something went wrong" )).asDeferred()
113
111
114
- Assert . assertTrue(deferred.isCancelled && deferred.isCompleted)
112
+ assertTrue(deferred.isCancelled && deferred.isCompleted)
115
113
val completionException = deferred.getCompletionExceptionOrNull()!!
116
- Assert . assertTrue(completionException is TestException )
117
- Assert . assertEquals(" something went wrong" , completionException.message)
114
+ assertTrue(completionException is TestException )
115
+ assertEquals(" something went wrong" , completionException.message)
118
116
119
117
try {
120
118
deferred.await()
121
- Assert . fail(" deferred.await() should throw an exception" )
119
+ fail(" deferred.await() should throw an exception" )
122
120
} catch (e: Exception ) {
123
- Assert . assertTrue(e is TestException )
124
- Assert . assertEquals(" something went wrong" , e.message)
121
+ assertTrue(e is TestException )
122
+ assertEquals(" something went wrong" , e.message)
125
123
}
126
124
}
127
125
@@ -133,16 +131,16 @@ class TaskTest : TestBase() {
133
131
lock.withLock { throw TestException (" something went wrong" ) }
134
132
}.asDeferred()
135
133
136
- Assert . assertFalse(deferred.isCompleted)
134
+ assertFalse(deferred.isCompleted)
137
135
lock.unlock()
138
136
139
137
try {
140
138
deferred.await()
141
- Assert . fail(" deferred.await() should throw an exception" )
139
+ fail(" deferred.await() should throw an exception" )
142
140
} catch (e: Exception ) {
143
- Assert . assertTrue(e is TestException )
144
- Assert . assertEquals(" something went wrong" , e.message)
145
- Assert . assertSame(e, deferred.getCompletionExceptionOrNull())
141
+ assertTrue(e is TestException )
142
+ assertEquals(" something went wrong" , e.message)
143
+ assertSame(e, deferred.getCompletionExceptionOrNull())
146
144
}
147
145
}
148
146
0 commit comments