@@ -14,7 +14,64 @@ class ObservableShareReplayScopeTests : RxTest {
14
14
}
15
15
16
16
extension ObservableShareReplayScopeTests {
17
- func testReplay_forever_receivesCorrectElements( ) {
17
+ func test_testDefaultArguments( ) {
18
+ let scheduler = TestScheduler ( initialClock: 0 )
19
+
20
+ let xs = scheduler. createHotObservable ( [
21
+ next ( 210 , 1 ) ,
22
+ next ( 220 , 2 ) ,
23
+ next ( 230 , 3 ) ,
24
+ next ( 240 , 4 ) ,
25
+ next ( 250 , 5 ) ,
26
+ next ( 320 , 6 ) ,
27
+ next ( 550 , 7 )
28
+ ] )
29
+
30
+ var subscription1 : Disposable ! = nil
31
+ var subscription2 : Disposable ! = nil
32
+ var subscription3 : Disposable ! = nil
33
+
34
+ let res1 = scheduler. createObserver ( Int . self)
35
+ let res2 = scheduler. createObserver ( Int . self)
36
+ let res3 = scheduler. createObserver ( Int . self)
37
+
38
+ var ys : Observable < Int > ! = nil
39
+
40
+ scheduler. scheduleAt ( Defaults . created) { ys = xs. share ( ) }
41
+
42
+ scheduler. scheduleAt ( 200 ) { subscription1 = ys. subscribe ( res1) }
43
+ scheduler. scheduleAt ( 300 ) { subscription2 = ys. subscribe ( res2) }
44
+
45
+ scheduler. scheduleAt ( 350 ) { subscription1. dispose ( ) }
46
+ scheduler. scheduleAt ( 400 ) { subscription2. dispose ( ) }
47
+
48
+ scheduler. scheduleAt ( 500 ) { subscription3 = ys. subscribe ( res3) }
49
+ scheduler. scheduleAt ( 600 ) { subscription3. dispose ( ) }
50
+
51
+ scheduler. start ( )
52
+
53
+ XCTAssertEqual ( res1. events, [
54
+ next ( 210 , 1 ) ,
55
+ next ( 220 , 2 ) ,
56
+ next ( 230 , 3 ) ,
57
+ next ( 240 , 4 ) ,
58
+ next ( 250 , 5 ) ,
59
+ next ( 320 , 6 )
60
+ ] )
61
+
62
+ let replayedEvents2 = ( 0 ..< 0 ) . map { next ( 300 , 6 - 0 + $0) }
63
+
64
+ XCTAssertEqual ( res2. events, replayedEvents2 + [ next ( 320 , 6 ) ] )
65
+ XCTAssertEqual ( res3. events, [ next ( 550 , 7 ) ] )
66
+
67
+ XCTAssertEqual ( xs. subscriptions, [
68
+ Subscription ( 200 , 400 ) ,
69
+ Subscription ( 500 , 600 )
70
+ ] )
71
+ }
72
+
73
+
74
+ func test_forever_receivesCorrectElements( ) {
18
75
for i in 0 ..< 5 {
19
76
let scheduler = TestScheduler ( initialClock: 0 )
20
77
@@ -73,7 +130,7 @@ extension ObservableShareReplayScopeTests {
73
130
}
74
131
}
75
132
76
- func testReplay_whileConnected_receivesCorrectElements ( ) {
133
+ func test_whileConnected_receivesCorrectElements ( ) {
77
134
for i in 0 ..< 5 {
78
135
let scheduler = TestScheduler ( initialClock: 0 )
79
136
@@ -131,7 +188,7 @@ extension ObservableShareReplayScopeTests {
131
188
}
132
189
}
133
190
134
- func testReplay_forever_error ( ) {
191
+ func test_forever_error ( ) {
135
192
for i in 0 ..< 5 {
136
193
let scheduler = TestScheduler ( initialClock: 0 )
137
194
@@ -219,7 +276,7 @@ extension ObservableShareReplayScopeTests {
219
276
}
220
277
}
221
278
222
- func testReplay_whileConnected_error ( ) {
279
+ func test_whileConnected_error ( ) {
223
280
for i in 0 ..< 5 {
224
281
let scheduler = TestScheduler ( initialClock: 0 )
225
282
@@ -304,7 +361,7 @@ extension ObservableShareReplayScopeTests {
304
361
}
305
362
}
306
363
307
- func testReplay_forever_completed ( ) {
364
+ func test_forever_completed ( ) {
308
365
for i in 0 ..< 5 {
309
366
let scheduler = TestScheduler ( initialClock: 0 )
310
367
@@ -392,7 +449,7 @@ extension ObservableShareReplayScopeTests {
392
449
}
393
450
}
394
451
395
- func testReplay_whileConnected_completed ( ) {
452
+ func test_whileConnected_completed ( ) {
396
453
for i in 0 ..< 5 {
397
454
let scheduler = TestScheduler ( initialClock: 0 )
398
455
@@ -478,14 +535,14 @@ extension ObservableShareReplayScopeTests {
478
535
}
479
536
480
537
#if TRACE_RESOURCES
481
- func testShareReplayScopeReleasesResourcesOnComplete ( ) {
538
+ func testReleasesResourcesOnComplete ( ) {
482
539
for i in 0 ..< 5 {
483
540
_ = Observable < Int > . just ( 1 ) . share ( replay: i, scope: . forever) . subscribe ( )
484
541
_ = Observable < Int > . just ( 1 ) . share ( replay: i, scope: . whileConnected) . subscribe ( )
485
542
}
486
543
}
487
544
488
- func testShareReplayScopeReleasesResourcesOnError ( ) {
545
+ func testReleasesResourcesOnError ( ) {
489
546
for i in 0 ..< 5 {
490
547
_ = Observable < Int > . error ( testError) . share ( replay: i, scope: . forever) . subscribe ( )
491
548
_ = Observable < Int > . error ( testError) . share ( replay: i, scope: . whileConnected) . subscribe ( )
0 commit comments