@@ -8,7 +8,7 @@ import scala.concurrent.duration._
8
8
import scala .language .postfixOps
9
9
import org .mockito .Mockito ._
10
10
import org .mockito .Matchers ._
11
- import rx .lang .scala .subscriptions .{MultipleAssignmentSubscription , CompositeSubscription }
11
+ import rx .lang .scala .subscriptions .{SerialSubscription , MultipleAssignmentSubscription , CompositeSubscription }
12
12
13
13
class SubscriptionTests extends JUnitSuite {
14
14
@ Test
@@ -98,7 +98,7 @@ class SubscriptionTests extends JUnitSuite {
98
98
assertFalse(s1.isUnsubscribed)
99
99
100
100
multiple.subscription = s1
101
- assertFalse(s0.isUnsubscribed)
101
+ assertFalse(s0.isUnsubscribed) // difference with SerialSubscription
102
102
assertFalse(s1.isUnsubscribed)
103
103
104
104
multiple.unsubscribe()
@@ -112,4 +112,33 @@ class SubscriptionTests extends JUnitSuite {
112
112
assertTrue(s2.isUnsubscribed)
113
113
assertFalse(s0.isUnsubscribed)
114
114
}
115
+
116
+ @ Test
117
+ def serialSubscriptionAdd () {
118
+
119
+ val s0 = Subscription ()
120
+ val s1 = Subscription ()
121
+ val serial = SerialSubscription ()
122
+
123
+ assertFalse(serial.isUnsubscribed)
124
+ assertFalse(s0.isUnsubscribed)
125
+ assertFalse(s1.isUnsubscribed)
126
+
127
+ serial.subscription = s0
128
+ assertFalse(s0.isUnsubscribed)
129
+ assertFalse(s1.isUnsubscribed)
130
+
131
+ serial.subscription = s1
132
+ assertTrue(s0.isUnsubscribed) // difference with MultipleAssignmentSubscription
133
+ assertFalse(s1.isUnsubscribed)
134
+
135
+ serial.unsubscribe()
136
+ assertTrue(serial.isUnsubscribed)
137
+ assertTrue(s1.isUnsubscribed)
138
+
139
+ val s2 = Subscription ()
140
+ assertFalse(s2.isUnsubscribed)
141
+ serial.subscription = s2
142
+ assertTrue(s2.isUnsubscribed)
143
+ }
115
144
}
0 commit comments