1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16package android.databinding.testapp; 17 18import android.databinding.testapp.databinding.FindMethodTestBinding; 19import android.databinding.testapp.vo.FindMethodBindingObject; 20 21import android.test.UiThreadTest; 22import android.widget.TextView; 23 24public class FindMethodTest 25 extends BindingAdapterTestBase<FindMethodTestBinding, FindMethodBindingObject> { 26 27 public FindMethodTest() { 28 super(FindMethodTestBinding.class, FindMethodBindingObject.class, R.layout.find_method_test); 29 } 30 31 public void testNoArg() throws Throwable { 32 TextView textView = mBinder.textView6; 33 assertEquals("no arg", textView.getText().toString()); 34 } 35 36 public void testIntArg() throws Throwable { 37 TextView textView = mBinder.textView0; 38 assertEquals("1", textView.getText().toString()); 39 } 40 41 public void testFloatArg() throws Throwable { 42 TextView textView = mBinder.textView1; 43 assertEquals("1.25", textView.getText().toString()); 44 } 45 46 public void testStringArg() throws Throwable { 47 TextView textView = mBinder.textView2; 48 assertEquals("hello", textView.getText().toString()); 49 } 50 51 public void testBoxedArg() throws Throwable { 52 TextView textView = mBinder.textView3; 53 assertEquals("1", textView.getText().toString()); 54 } 55 56 public void testInheritedMethod() throws Throwable { 57 TextView textView = mBinder.textView4; 58 assertEquals("base", textView.getText().toString()); 59 } 60 61 public void testInheritedMethodInt() throws Throwable { 62 TextView textView = mBinder.textView5; 63 assertEquals("base 2", textView.getText().toString()); 64 } 65 66 public void testStaticMethod() throws Throwable { 67 TextView textView = mBinder.textView7; 68 assertEquals("world", textView.getText().toString()); 69 } 70 71 public void testStaticField() throws Throwable { 72 TextView textView = mBinder.textView8; 73 assertEquals("hello world", textView.getText().toString()); 74 } 75 76 public void testImportStaticMethod() throws Throwable { 77 TextView textView = mBinder.textView9; 78 assertEquals("world", textView.getText().toString()); 79 } 80 81 public void testImportStaticField() throws Throwable { 82 TextView textView = mBinder.textView10; 83 assertEquals("hello world", textView.getText().toString()); 84 } 85 86 public void testAliasStaticMethod() throws Throwable { 87 TextView textView = mBinder.textView11; 88 assertEquals("world", textView.getText().toString()); 89 } 90 91 public void testAliasStaticField() throws Throwable { 92 TextView textView = mBinder.textView12; 93 assertEquals("hello world", textView.getText().toString()); 94 } 95 96 @UiThreadTest 97 public void testObservableField() throws Throwable { 98 // tests an ObservableField inside an Observable object 99 assertEquals("", mBinder.textView25.getText().toString()); 100 mBinder.getObj().myField.set("Hello World"); 101 mBinder.executePendingBindings(); 102 assertEquals("Hello World", mBinder.textView25.getText().toString()); 103 104 mBinder.getObj().myField.set("World Hello"); 105 mBinder.executePendingBindings(); 106 assertEquals("World Hello", mBinder.textView25.getText().toString()); 107 } 108 109 @UiThreadTest 110 public void testObservableInstanceField() throws Throwable { 111 assertEquals("", mBinder.textView26.getText().toString()); 112 mBinder.getObj().observableClass.setX("foobar"); 113 mBinder.executePendingBindings(); 114 assertEquals("foobar", mBinder.textView26.getText().toString()); 115 mBinder.getObj().observableClass.setX("barfoo"); 116 mBinder.executePendingBindings(); 117 assertEquals("barfoo", mBinder.textView26.getText().toString()); 118 } 119 120 @UiThreadTest 121 public void testPrimitiveToObject() throws Throwable { 122 mBinder.executePendingBindings(); 123 assertTrue(mBinder.textView27.getTag() instanceof Integer); 124 assertEquals((Integer)1, mBinder.textView27.getTag()); 125 } 126 127 @UiThreadTest 128 public void testFindMethodBasedOnSecondParam() throws Throwable { 129 mBinder.executePendingBindings(); 130 assertEquals("2", mBinder.textView28.getText().toString()); 131 assertEquals("10", mBinder.textView29.getText().toString()); 132 } 133} 134