@@ -6,6 +6,43 @@ import RxCocoa
6
6
7
7
class OperatorTests : XCTestCase {
8
8
9
+ func testVariableBinding( ) {
10
+ let disposeBag = DisposeBag ( )
11
+ let label = UILabel ( )
12
+ let variable = Variable < String ? > ( nil )
13
+
14
+ label. rx. text <- variable >>> disposeBag
15
+ XCTAssertEqual ( nil , label. text)
16
+
17
+ variable. value = " hello "
18
+ XCTAssertEqual ( " hello " , label. text)
19
+
20
+ variable. value = nil
21
+ XCTAssertEqual ( nil , label. text)
22
+ }
23
+
24
+ func testObserverBinding( ) {
25
+ let disposeBag = DisposeBag ( )
26
+ let button = UIButton ( )
27
+ let observable = Observable< String?> . just( " hello " )
28
+ XCTAssertEqual ( nil , button. title ( for: . normal) )
29
+ button. rx. title ( for: . normal) <- observable >>> disposeBag
30
+ XCTAssertEqual ( " hello " , button. title ( for: . normal) )
31
+ }
32
+
33
+ func testBindingToVariable( ) {
34
+ let disposeBag = DisposeBag ( )
35
+ let sut = Variable < String > ( " " )
36
+ let variable = Variable < String > ( " hello " )
37
+
38
+ sut <- variable >>> disposeBag
39
+ XCTAssertEqual ( variable. value, sut. value)
40
+ XCTAssertEqual ( " hello " , sut. value)
41
+
42
+ variable. value = " world "
43
+ XCTAssertEqual ( variable. value, sut. value)
44
+ }
45
+
9
46
func testAddCompositeDisposable( ) {
10
47
let compositeDisposable = CompositeDisposable ( )
11
48
let observable = Observable< String?> . never( )
0 commit comments