From d7366b0b72a79362c608a0b3b2aec1c355507d2a Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Sun, 10 Jan 2016 20:33:30 +0100 Subject: [PATCH] Adds unit tests for `rx_enabled` on `NSControl` and `rx_state` on `UIButton`. --- Sources/AllTests/main.swift | 2 ++ .../RxCocoaTests/Control+RxTests+Cocoa.swift | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/Sources/AllTests/main.swift b/Sources/AllTests/main.swift index 90afb5f6..f5a28016 100644 --- a/Sources/AllTests/main.swift +++ b/Sources/AllTests/main.swift @@ -16,6 +16,8 @@ _ObservableCreationTests.allTests = [ ("testSequenceOf_complete_immediate", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testSequenceOf_complete_immediate(); _ObservableCreationTests.tearDown(); }), ("testSequenceOf_complete", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testSequenceOf_complete(); _ObservableCreationTests.tearDown(); }), ("testSequenceOf_dispose", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testSequenceOf_dispose(); _ObservableCreationTests.tearDown(); }), + ("testToObservableAnySequence_basic_immediate", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testToObservableAnySequence_basic_immediate(); _ObservableCreationTests.tearDown(); }), + ("testToObservableAnySequence_basic_testScheduler", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testToObservableAnySequence_basic_testScheduler(); _ObservableCreationTests.tearDown(); }), ("testGenerate_Finite", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testGenerate_Finite(); _ObservableCreationTests.tearDown(); }), //("testGenerate_ThrowCondition", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testGenerate_ThrowCondition(); _ObservableCreationTests.tearDown(); }), //("testGenerate_ThrowIterate", { _ObservableCreationTests.setUp(); _ObservableCreationTests.testGenerate_ThrowIterate(); _ObservableCreationTests.tearDown(); }), diff --git a/Tests/RxCocoaTests/Control+RxTests+Cocoa.swift b/Tests/RxCocoaTests/Control+RxTests+Cocoa.swift index 72e7815c..17255f72 100644 --- a/Tests/RxCocoaTests/Control+RxTests+Cocoa.swift +++ b/Tests/RxCocoaTests/Control+RxTests+Cocoa.swift @@ -25,6 +25,22 @@ extension ControlTests { let createView: () -> NSControl = { NSControl(frame: CGRectMake(0, 0, 1, 1)) } ensureEventDeallocated(createView) { (view: NSControl) in view.rx_controlEvent } } + + func testControl_enabled_true() { + let control = NSControl(frame: CGRectMake(0, 0, 1, 1)) + + _ = Observable.just(true).bindTo(control.rx_enabled) + + XCTAssertEqual(true, control.enabled) + } + + func testControl_enabled_false() { + let control = NSControl(frame: CGRectMake(0, 0, 1, 1)) + + _ = Observable.just(false).bindTo(control.rx_enabled) + + XCTAssertEqual(false, control.enabled) + } } // NSSlider @@ -46,4 +62,18 @@ extension ControlTests { let createView: () -> NSButton = { NSButton(frame: CGRectMake(0, 0, 1, 1)) } ensurePropertyDeallocated(createView, 0) { (view: NSButton) in view.rx_state } } + + func testButton_state_observer_on() { + let button = NSButton(frame: CGRectMake(0, 0, 1, 1)) + _ = Observable.just(NSOnState).bindTo(button.rx_state) + + XCTAssertEqual(button.state, NSOnState) + } + + func testButton_state_observer_off() { + let button = NSButton(frame: CGRectMake(0, 0, 1, 1)) + _ = Observable.just(NSOffState).bindTo(button.rx_state) + + XCTAssertEqual(button.state, NSOffState) + } } \ No newline at end of file