1
1
package io .dylemma .frp .test
2
2
3
- import org .scalatest ._
4
- import org .scalatest .concurrent .AsyncAssertions
5
- import org .scalatest .time .SpanSugar ._
6
3
import io .dylemma .frp ._
7
- import scala . concurrent . ExecutionContext . Implicits . global
8
- import scala . util . _
4
+ import org . scalatest . _
5
+ import org . scalatest . concurrent . Waiters
9
6
import org .scalatest .exceptions .TestFailedException
10
7
11
- class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAssertions with Observer {
8
+ import scala .concurrent .ExecutionContext .Implicits .global
9
+ import scala .util .{Failure , Success }
10
+
11
+ class EventStreamFuturesTest extends FunSuite with TestHelpers with Waiters with Observer {
12
12
13
13
test(" EventStream.next completes successfully when the stream fires an event" ) {
14
14
val w = new Waiter
15
15
val s = EventSource [Int ]()
16
16
17
- s.next onSuccess { case 5 => w.dismiss }
17
+ s.next foreach { case 5 => w.dismiss }
18
18
s fire 5
19
19
w.await(dismissals(1 ))
20
20
}
@@ -24,15 +24,21 @@ class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAsserti
24
24
val s = EventSource [Int ]()
25
25
26
26
s.stop() // stream stopped before `next` is called
27
- s.next onFailure { case _ => w.dismiss }
27
+ s.next onComplete {
28
+ case Failure (_) => w.dismiss
29
+ case Success (_) =>
30
+ }
28
31
w.await(dismissals(1 ))
29
32
}
30
33
31
34
test(" EventStream.next completes with a failure if the stream stops before firing an event" ) {
32
35
val w = new Waiter
33
36
val s = EventSource [Int ]()
34
37
35
- s.next onFailure { case _ => w.dismiss }
38
+ s.next onComplete {
39
+ case Failure (_) => w.dismiss
40
+ case Success (_) =>
41
+ }
36
42
s.stop() // stream stopped after `next` is called
37
43
w.await(dismissals(1 ))
38
44
}
@@ -58,7 +64,7 @@ class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAsserti
58
64
val w = new Waiter
59
65
val s = EventSource [Int ]()
60
66
61
- s.last onSuccess { case 3 => w.dismiss }
67
+ s.last foreach { case 3 => w.dismiss }
62
68
s fire 1
63
69
s fire 2
64
70
s fire 3
@@ -71,7 +77,7 @@ class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAsserti
71
77
val w = new Waiter
72
78
val s = EventSource [Int ]()
73
79
74
- s.last onSuccess { case 3 => w.dismiss }
80
+ s.last foreach { case 3 => w.dismiss }
75
81
s fire 1
76
82
s fire 2
77
83
s fire 3
@@ -87,15 +93,21 @@ class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAsserti
87
93
val s = EventSource [Int ]()
88
94
s.stop()
89
95
90
- s.last onFailure { case _ => w.dismiss }
96
+ s.last onComplete {
97
+ case Failure (_) => w.dismiss
98
+ case Success (_) =>
99
+ }
91
100
w.await(dismissals(1 ))
92
101
}
93
102
94
103
test(" EventStream.last should be a failure if the stream stops before firing an event" ) {
95
104
val w = new Waiter
96
105
val s = EventSource [Int ]()
97
106
98
- s.last onFailure { case _ => w.dismiss }
107
+ s.last onComplete {
108
+ case Failure (_) => w.dismiss
109
+ case Success (_) =>
110
+ }
99
111
s.stop()
100
112
w.await(dismissals(1 ))
101
113
}
@@ -105,15 +117,15 @@ class EventStreamFuturesTest extends FunSuite with TestHelpers with AsyncAsserti
105
117
val s = EventSource [Int ]()
106
118
s.stop()
107
119
108
- s.end onSuccess { case _ => w.dismiss }
120
+ s.end foreach { case _ => w.dismiss }
109
121
w.await(dismissals(1 ))
110
122
}
111
123
112
124
test(" EventStream.end completes successfully when the stream stops" ) {
113
125
val w = new Waiter
114
126
val s = EventSource [Int ]()
115
127
116
- s.end onSuccess { case _ => w.dismiss }
128
+ s.end foreach { case _ => w.dismiss }
117
129
s.stop()
118
130
w.await(dismissals(1 ))
119
131
}
0 commit comments