118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount/*
218243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * Copyright (C) 2015 The Android Open Source Project
318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount *
418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * Licensed under the Apache License, Version 2.0 (the "License");
518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * you may not use this file except in compliance with the License.
618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * You may obtain a copy of the License at
718243f6f1b7527272ef4feccdf4327d80d9f2241George Mount *
818243f6f1b7527272ef4feccdf4327d80d9f2241George Mount *      http://www.apache.org/licenses/LICENSE-2.0
918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount *
1018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * Unless required by applicable law or agreed to in writing, software
1118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * distributed under the License is distributed on an "AS IS" BASIS,
1218243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * See the License for the specific language governing permissions and
1418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount * limitations under the License.
1518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount */
16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp;
1718243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
182e2043d30f95585de2069e1cbb23e022ab0e71c4George Mountimport android.databinding.testapp.databinding.FindMethodTestBinding;
19fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.testapp.vo.FindMethodBindingObject;
2018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
21a7e767e576adebcddf043ad34ccb8dd167f777b3George Mountimport android.test.UiThreadTest;
2218243f6f1b7527272ef4feccdf4327d80d9f2241George Mountimport android.widget.TextView;
2318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
2418243f6f1b7527272ef4feccdf4327d80d9f2241George Mountpublic class FindMethodTest
254c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount        extends BindingAdapterTestBase<FindMethodTestBinding, FindMethodBindingObject> {
2618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
2718243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public FindMethodTest() {
284c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount        super(FindMethodTestBinding.class, FindMethodBindingObject.class, R.layout.find_method_test);
2918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
3018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
3118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testNoArg() throws Throwable {
3234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView6;
3318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("no arg", textView.getText().toString());
3418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
3518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
3618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testIntArg() throws Throwable {
3734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView0;
3818243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("1", textView.getText().toString());
3918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
4018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
4118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testFloatArg() throws Throwable {
4234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView1;
4318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("1.25", textView.getText().toString());
4418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
4518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
4618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testStringArg() throws Throwable {
4734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView2;
4818243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("hello", textView.getText().toString());
4918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
5018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
5118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testBoxedArg() throws Throwable {
5234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView3;
5318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("1", textView.getText().toString());
5418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
5518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
5618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testInheritedMethod() throws Throwable {
5734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView4;
5818243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("base", textView.getText().toString());
5918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
6018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
6118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testInheritedMethodInt() throws Throwable {
6234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView5;
6318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("base 2", textView.getText().toString());
6418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
6518243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
6618243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testStaticMethod() throws Throwable {
6734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView7;
6818243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("world", textView.getText().toString());
6918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
7018243f6f1b7527272ef4feccdf4327d80d9f2241George Mount
7118243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    public void testStaticField() throws Throwable {
7234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView8;
7318243f6f1b7527272ef4feccdf4327d80d9f2241George Mount        assertEquals("hello world", textView.getText().toString());
7418243f6f1b7527272ef4feccdf4327d80d9f2241George Mount    }
75a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount
76a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    public void testImportStaticMethod() throws Throwable {
7734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView9;
78a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount        assertEquals("world", textView.getText().toString());
79a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    }
80a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount
81a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    public void testImportStaticField() throws Throwable {
8234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView10;
83a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount        assertEquals("hello world", textView.getText().toString());
84a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    }
85a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount
86a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    public void testAliasStaticMethod() throws Throwable {
8734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView11;
88a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount        assertEquals("world", textView.getText().toString());
89a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    }
90a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount
91a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    public void testAliasStaticField() throws Throwable {
9234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount        TextView textView = mBinder.textView12;
93a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount        assertEquals("hello world", textView.getText().toString());
94a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    }
95a7e767e576adebcddf043ad34ccb8dd167f777b3George Mount
96a7e767e576adebcddf043ad34ccb8dd167f777b3George Mount    @UiThreadTest
97c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount    public void testObservableField() throws Throwable {
98c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        // tests an ObservableField inside an Observable object
99c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("", mBinder.textView25.getText().toString());
100c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.getObj().myField.set("Hello World");
101c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.executePendingBindings();
102c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("Hello World", mBinder.textView25.getText().toString());
103c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount
104c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.getObj().myField.set("World Hello");
105c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.executePendingBindings();
106c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("World Hello", mBinder.textView25.getText().toString());
107c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount    }
108c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount
109c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount    @UiThreadTest
110c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount    public void testObservableInstanceField() throws Throwable {
111c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("", mBinder.textView26.getText().toString());
112c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.getObj().observableClass.setX("foobar");
113c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.executePendingBindings();
114c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("foobar", mBinder.textView26.getText().toString());
115c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.getObj().observableClass.setX("barfoo");
116c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        mBinder.executePendingBindings();
117c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount        assertEquals("barfoo", mBinder.textView26.getText().toString());
118c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dcGeorge Mount    }
11918243f6f1b7527272ef4feccdf4327d80d9f2241George Mount}
120