Home | History | Annotate | Download | only in testapp
      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 
     14 package android.databinding.testapp;
     15 
     16 import android.databinding.testapp.databinding.NoIdTestBinding;
     17 
     18 import android.test.UiThreadTest;
     19 import android.widget.LinearLayout;
     20 import android.widget.TextView;
     21 
     22 public class NoIdTest extends BaseDataBinderTest<NoIdTestBinding> {
     23     public NoIdTest() {
     24         super(NoIdTestBinding.class);
     25     }
     26 
     27     @Override
     28     protected void setUp() throws Exception {
     29         super.setUp();
     30         initBinder(new Runnable() {
     31             @Override
     32             public void run() {
     33                 mBinder.setName("hello");
     34                 mBinder.setOrientation(LinearLayout.VERTICAL);
     35                 mBinder.executePendingBindings();
     36             }
     37         });
     38     }
     39 
     40     @UiThreadTest
     41     public void testOnRoot() {
     42         LinearLayout linearLayout = (LinearLayout) mBinder.getRoot();
     43         assertEquals(LinearLayout.VERTICAL, linearLayout.getOrientation());
     44         mBinder.setOrientation(LinearLayout.HORIZONTAL);
     45         mBinder.executePendingBindings();
     46         assertEquals(LinearLayout.HORIZONTAL, linearLayout.getOrientation());
     47     }
     48 
     49     @UiThreadTest
     50     public void testNormal() {
     51         LinearLayout linearLayout = (LinearLayout) mBinder.getRoot();
     52         TextView view = (TextView) linearLayout.getChildAt(0);
     53         assertEquals("hello world", view.getTag());
     54         assertEquals("hello", view.getText().toString());
     55         mBinder.setName("world");
     56         mBinder.executePendingBindings();
     57         assertEquals("world", view.getText().toString());
     58     }
     59 
     60     @UiThreadTest
     61     public void testNoTag() {
     62         LinearLayout linearLayout = (LinearLayout) mBinder.getRoot();
     63         TextView view = (TextView) linearLayout.getChildAt(1);
     64         assertNull(view.getTag());
     65     }
     66 
     67     @UiThreadTest
     68     public void testResourceTag() {
     69         LinearLayout linearLayout = (LinearLayout) mBinder.getRoot();
     70         TextView view = (TextView) linearLayout.getChildAt(2);
     71         String expectedValue = view.getResources().getString(R.string.app_name);
     72         assertEquals(expectedValue, view.getTag());
     73     }
     74 
     75     @UiThreadTest
     76     public void testAndroidResourceTag() {
     77         LinearLayout linearLayout = (LinearLayout) mBinder.getRoot();
     78         TextView view = (TextView) linearLayout.getChildAt(3);
     79         String expectedValue = view.getResources().getString(android.R.string.ok);
     80         assertEquals(expectedValue, view.getTag());
     81     }
     82 
     83     @UiThreadTest
     84     public void testIdOnly() {
     85         assertEquals("hello", mBinder.textView.getText().toString());
     86     }
     87 }
     88