Skip to content

Commit

Permalink
Add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gringoireDM authored and freak4pc committed Feb 8, 2020
1 parent e2d42e1 commit cf5000b
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 0 deletions.
43 changes: 43 additions & 0 deletions Tests/RxCocoaTests/SharedSequence+OperatorTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,49 @@ extension SharedSequenceOperatorTests {
}
}

// MARK: compactMap
extension SharedSequenceOperatorTests {
func testAsDriver_compactMap() {
let hotObservable = BackgroundThreadPrimitiveHotObservable<String>()
let driver = hotObservable.asDriver(onErrorJustReturn: "-1").compactMap { (n: String) -> Int? in
XCTAssertTrue(DispatchQueue.isMain)
return Int(n)
}

let results = subscribeTwiceOnBackgroundSchedulerAndOnlyOneSubscription(driver) {
XCTAssertTrue(hotObservable.subscriptions == [SubscribedToHotObservable])

hotObservable.on(.next("1"))
hotObservable.on(.next("2"))
hotObservable.on(.error(testError))

XCTAssertTrue(hotObservable.subscriptions == [UnsunscribedFromHotObservable])
}

XCTAssertEqual(results, [1, 2, -1])
}

func testAsDriver_compactMapNil() {
let hotObservable = BackgroundThreadPrimitiveHotObservable<String>()
let driver = hotObservable.asDriver(onErrorJustReturn: "-1").compactMap { (n: String) -> Int? in
XCTAssertTrue(DispatchQueue.isMain)
return Int(n)
}

let results = subscribeTwiceOnBackgroundSchedulerAndOnlyOneSubscription(driver) {
XCTAssertTrue(hotObservable.subscriptions == [SubscribedToHotObservable])

hotObservable.on(.next("1"))
hotObservable.on(.next("a"))
hotObservable.on(.error(testError))

XCTAssertTrue(hotObservable.subscriptions == [UnsunscribedFromHotObservable])
}

XCTAssertEqual(results, [1, -1])
}
}

// MARK: filter
extension SharedSequenceOperatorTests {
func testAsDriver_filter() {
Expand Down
25 changes: 25 additions & 0 deletions Tests/RxSwiftTests/MaybeTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,31 @@ extension MaybeTest {
])
}

func test_compactMap() {
let scheduler = TestScheduler(initialClock: 0)

let res = scheduler.start {
(Maybe<String>.just("1").compactMap(Int.init) as Maybe<Int>).asObservable()
}

XCTAssertEqual(res.events, [
.next(200, 1),
.completed(200)
])
}

func test_compactMapNil() {
let scheduler = TestScheduler(initialClock: 0)

let res = scheduler.start {
(Maybe<String>.just("a").compactMap(Int.init) as Maybe<Int>).asObservable()
}

XCTAssertEqual(res.events, [
.completed(200)
])
}

func test_flatMap() {
let scheduler = TestScheduler(initialClock: 0)

Expand Down
25 changes: 25 additions & 0 deletions Tests/RxSwiftTests/SingleTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,31 @@ extension SingleTest {
])
}

func test_compactMap() {
let scheduler = TestScheduler(initialClock: 0)

let res = scheduler.start {
(Single<String>.just("1").compactMap(Int.init) as Maybe<Int>).asObservable()
}

XCTAssertEqual(res.events, [
.next(200, 1),
.completed(200)
])
}

func test_compactMapNil() {
let scheduler = TestScheduler(initialClock: 0)

let res = scheduler.start {
(Single<String>.just("a").compactMap(Int.init) as Maybe<Int>).asObservable()
}

XCTAssertEqual(res.events, [
.completed(200)
])
}

func test_flatMap() {
let scheduler = TestScheduler(initialClock: 0)

Expand Down

0 comments on commit cf5000b

Please sign in to comment.