| /* |
| * Copyright (C) 2015 The Android Open Source Project |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.databinding.testapp; |
| |
| import android.databinding.testapp.databinding.ObservableFieldTestBinding; |
| import android.databinding.testapp.vo.ObservableFieldBindingObject; |
| |
| import android.test.UiThreadTest; |
| import android.widget.TextView; |
| |
| public class ObservableFieldTest extends BaseDataBinderTest<ObservableFieldTestBinding> { |
| private ObservableFieldBindingObject mObj; |
| |
| public ObservableFieldTest() { |
| super(ObservableFieldTestBinding.class); |
| } |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| initBinder(new Runnable() { |
| @Override |
| public void run() { |
| mObj = new ObservableFieldBindingObject(); |
| mBinder.setObj(mObj); |
| mBinder.executePendingBindings(); |
| } |
| }); |
| } |
| |
| @UiThreadTest |
| public void testBoolean() { |
| TextView view = mBinder.bField; |
| assertEquals("false", view.getText()); |
| |
| mObj.bField.set(true); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("true", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testByte() { |
| TextView view = mBinder.tField; |
| assertEquals("0", view.getText()); |
| |
| mObj.tField.set((byte) 1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testShort() { |
| TextView view = mBinder.sField; |
| assertEquals("0", view.getText()); |
| |
| mObj.sField.set((short) 1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testChar() { |
| TextView view = mBinder.cField; |
| assertEquals("\u0000", view.getText()); |
| |
| mObj.cField.set('A'); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("A", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testInt() { |
| TextView view = mBinder.iField; |
| assertEquals("0", view.getText()); |
| |
| mObj.iField.set(1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testLong() { |
| TextView view = mBinder.lField; |
| assertEquals("0", view.getText()); |
| |
| mObj.lField.set(1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testFloat() { |
| TextView view = mBinder.fField; |
| assertEquals("0.0", view.getText()); |
| |
| mObj.fField.set(1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1.0", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testDouble() { |
| TextView view = mBinder.dField; |
| assertEquals("0.0", view.getText()); |
| |
| mObj.dField.set(1); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("1.0", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testObject() { |
| TextView view = mBinder.oField; |
| assertEquals("Hello", view.getText()); |
| |
| mObj.oField.set("World"); |
| mBinder.executePendingBindings(); |
| |
| assertEquals("World", view.getText()); |
| } |
| |
| @UiThreadTest |
| public void testParcelable() { |
| TextView x = mBinder.pFieldx; |
| TextView y = mBinder.pFieldy; |
| assertEquals(x.getText().toString(), String.valueOf(mObj.pField.get().getX())); |
| assertEquals(y.getText().toString(), mObj.pField.get().getY()); |
| ObservableFieldBindingObject.MyParcelable p2 = |
| new ObservableFieldBindingObject.MyParcelable(7, "updated"); |
| mObj.pField.set(p2); |
| mBinder.executePendingBindings(); |
| |
| assertEquals(x.getText().toString(), String.valueOf(mObj.pField.get().getX())); |
| assertEquals(y.getText().toString(), mObj.pField.get().getY()); |
| } |
| } |