blob: 160d5c426022de43cf4a1f93d7aa4180c44c50b6 [file] [log] [blame]
/*
* 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());
}
}