ObservableFieldTest.java revision d37b47419005587c52ca4c099432327b7f06478d
1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * http://www.apache.org/licenses/LICENSE-2.0 7 * Unless required by applicable law or agreed to in writing, software 8 * distributed under the License is distributed on an "AS IS" BASIS, 9 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 * See the License for the specific language governing permissions and 11 * limitations under the License. 12 */ 13 14package android.databinding.testapp; 15 16import android.databinding.testapp.databinding.ObservableFieldTestBinding; 17import android.databinding.testapp.vo.ObservableFieldBindingObject; 18 19import android.test.UiThreadTest; 20import android.widget.TextView; 21 22public class ObservableFieldTest extends BaseDataBinderTest<ObservableFieldTestBinding> { 23 private ObservableFieldBindingObject mObj; 24 25 public ObservableFieldTest() { 26 super(ObservableFieldTestBinding.class); 27 } 28 29 @Override 30 protected void setUp() throws Exception { 31 super.setUp(); 32 initBinder(new Runnable() { 33 @Override 34 public void run() { 35 mObj = new ObservableFieldBindingObject(); 36 mBinder.setObj(mObj); 37 mBinder.executePendingBindings(); 38 } 39 }); 40 } 41 42 @UiThreadTest 43 public void testBoolean() { 44 TextView view = mBinder.bField; 45 assertEquals("false", view.getText()); 46 47 mObj.bField.set(true); 48 mBinder.executePendingBindings(); 49 50 assertEquals("true", view.getText()); 51 } 52 53 @UiThreadTest 54 public void testByte() { 55 TextView view = mBinder.tField; 56 assertEquals("0", view.getText()); 57 58 mObj.tField.set((byte) 1); 59 mBinder.executePendingBindings(); 60 61 assertEquals("1", view.getText()); 62 } 63 64 @UiThreadTest 65 public void testShort() { 66 TextView view = mBinder.sField; 67 assertEquals("0", view.getText()); 68 69 mObj.sField.set((short) 1); 70 mBinder.executePendingBindings(); 71 72 assertEquals("1", view.getText()); 73 } 74 75 @UiThreadTest 76 public void testChar() { 77 TextView view = mBinder.cField; 78 assertEquals("\u0000", view.getText()); 79 80 mObj.cField.set('A'); 81 mBinder.executePendingBindings(); 82 83 assertEquals("A", view.getText()); 84 } 85 86 @UiThreadTest 87 public void testInt() { 88 TextView view = mBinder.iField; 89 assertEquals("0", view.getText()); 90 91 mObj.iField.set(1); 92 mBinder.executePendingBindings(); 93 94 assertEquals("1", view.getText()); 95 } 96 97 @UiThreadTest 98 public void testLong() { 99 TextView view = mBinder.lField; 100 assertEquals("0", view.getText()); 101 102 mObj.lField.set(1); 103 mBinder.executePendingBindings(); 104 105 assertEquals("1", view.getText()); 106 } 107 108 @UiThreadTest 109 public void testFloat() { 110 TextView view = mBinder.fField; 111 assertEquals("0.0", view.getText()); 112 113 mObj.fField.set(1); 114 mBinder.executePendingBindings(); 115 116 assertEquals("1.0", view.getText()); 117 } 118 119 @UiThreadTest 120 public void testDouble() { 121 TextView view = mBinder.dField; 122 assertEquals("0.0", view.getText()); 123 124 mObj.dField.set(1); 125 mBinder.executePendingBindings(); 126 127 assertEquals("1.0", view.getText()); 128 } 129 130 @UiThreadTest 131 public void testObject() { 132 TextView view = mBinder.oField; 133 assertEquals("Hello", view.getText()); 134 135 mObj.oField.set("World"); 136 mBinder.executePendingBindings(); 137 138 assertEquals("World", view.getText()); 139 } 140 141 @UiThreadTest 142 public void testParcelable() { 143 TextView x = mBinder.pFieldx; 144 TextView y = mBinder.pFieldy; 145 assertEquals(x.getText().toString(), String.valueOf(mObj.pField.get().getX())); 146 assertEquals(y.getText().toString(), mObj.pField.get().getY()); 147 ObservableFieldBindingObject.MyParcelable p2 = 148 new ObservableFieldBindingObject.MyParcelable(7, "updated"); 149 mObj.pField.set(p2); 150 mBinder.executePendingBindings(); 151 152 assertEquals(x.getText().toString(), String.valueOf(mObj.pField.get().getX())); 153 assertEquals(y.getText().toString(), mObj.pField.get().getY()); 154 } 155} 156