File tree 3 files changed +35
-3
lines changed
3 files changed +35
-3
lines changed Original file line number Diff line number Diff line change 1
- extension Mapping where MappedUpdate: Equatable
1
+ public extension Mapping where MappedUpdate: Equatable
2
2
{
3
3
public func select( _ default: MappedUpdate ) -> Mapping < O , Void >
4
4
{
5
5
return map ( prefilter: { $0 == `default` } ) { _ in }
6
6
}
7
7
}
8
8
9
- extension Mapping
9
+ public extension Mapping
10
10
{
11
11
public func new< Value> ( ) -> Mapping < O , Value >
12
12
where MappedUpdate == Update < Value >
Original file line number Diff line number Diff line change
1
+ public extension Observable where UpdateType: Equatable
2
+ {
3
+ public func select( _ default: UpdateType ) -> Mapping < Self , Void >
4
+ {
5
+ return map ( prefilter: { $0 == `default` } ) { _ in }
6
+ }
7
+ }
8
+
1
9
public extension Observable
2
10
{
3
11
public func new< MappedUpdate> ( ) -> Mapping < Self , MappedUpdate >
Original file line number Diff line number Diff line change @@ -182,6 +182,25 @@ class SwiftObserverTests: XCTestCase
182
182
XCTAssert ( !didFire)
183
183
}
184
184
185
+ func testMappingSelectOnCustomObservable( )
186
+ {
187
+ let mappedModel = model. select ( . didUpdate)
188
+
189
+ var didFire = false
190
+
191
+ controller. observe ( mappedModel)
192
+ {
193
+ didFire = true
194
+ }
195
+
196
+ model. send ( . didUpdate)
197
+ XCTAssert ( didFire)
198
+
199
+ didFire = false
200
+ model. send ( . didReset)
201
+ XCTAssert ( !didFire)
202
+ }
203
+
185
204
func testMultiplication( )
186
205
{
187
206
XCTAssertEqual ( Var ( 2 ) * Var( 7 ) , 14 )
@@ -574,12 +593,17 @@ class SwiftObserverTests: XCTestCase
574
593
575
594
func testObservableMapping( )
576
595
{
577
- controller. observe ( model. map { $0. rawValue } )
596
+ var didFire = false
597
+
598
+ controller. observe ( model) . map ( { $0. rawValue } )
578
599
{
579
600
XCTAssertEqual ( $0, " didUpdate " )
601
+ didFire = true
580
602
}
581
603
582
604
model. send ( . didUpdate)
605
+
606
+ XCTAssert ( didFire)
583
607
}
584
608
585
609
You can’t perform that action at this time.
0 commit comments