Files
GradientLoadingBar/Example/Tests/Helpers/Extensions/Observable+ObserveDistinctTestCase.swift
T
2018-09-03 18:43:05 +02:00

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)
}
}