mirror of
https://github.com/fxm90/GradientLoadingBar.git
synced 2026-06-16 12:24:31 +00:00
55 lines
1.2 KiB
Swift
55 lines
1.2 KiB
Swift
//
|
|
// Observable+ObserveDistinctTestCase.swift
|
|
// GradientLoadingBarTests
|
|
//
|
|
// Created by Felix Mau on 25.08.18.
|
|
// Copyright © 2018 CocoaPods. All rights reserved.
|
|
//
|
|
|
|
import XCTest
|
|
import Observable
|
|
|
|
class ObservableObserveDistinctTestCase: XCTestCase {
|
|
func testObserveDistinctShouldNotifyListener() {
|
|
// Given
|
|
let prevValue = 123
|
|
let nextValue = 456
|
|
|
|
let observable = Observable(prevValue)
|
|
|
|
var observeCallCounter = 0
|
|
|
|
var disposeBag = Disposal()
|
|
observable.observeDistinct { _, _ in
|
|
observeCallCounter += 1
|
|
}.add(to: &disposeBag)
|
|
|
|
// When
|
|
observable.value = nextValue
|
|
|
|
// Then
|
|
XCTAssertEqual(observeCallCounter, 2)
|
|
}
|
|
|
|
func testObserveDistinctShouldNotNotifyListenerDueToSameValue() {
|
|
// Given
|
|
let prevValue = 123
|
|
let nextValue = 123
|
|
|
|
let observable = Observable(prevValue)
|
|
|
|
var observeCallCounter = 0
|
|
|
|
var disposeBag = Disposal()
|
|
observable.observeDistinct { _, _ in
|
|
observeCallCounter += 1
|
|
}.add(to: &disposeBag)
|
|
|
|
// When
|
|
observable.value = nextValue
|
|
|
|
// Then
|
|
XCTAssertEqual(observeCallCounter, 1)
|
|
}
|
|
}
|