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.BracketTestBinding;
     17 
     18 import android.test.UiThreadTest;
     19 import android.util.LongSparseArray;
     20 import android.util.SparseArray;
     21 import android.util.SparseBooleanArray;
     22 import android.util.SparseIntArray;
     23 import android.util.SparseLongArray;
     24 
     25 public class BracketTest extends BaseDataBinderTest<BracketTestBinding> {
     26     private String[] mArray = {
     27             "Hello World"
     28     };
     29 
     30     private SparseArray<String> mSparseArray = new SparseArray<>();
     31     private SparseIntArray mSparseIntArray = new SparseIntArray();
     32     private SparseBooleanArray mSparseBooleanArray = new SparseBooleanArray();
     33     private SparseLongArray mSparseLongArray = new SparseLongArray();
     34     private LongSparseArray<String> mLongSparseArray = new LongSparseArray<>();
     35 
     36     public BracketTest() {
     37         super(BracketTestBinding.class);
     38         mSparseArray.put(0, "Hello");
     39         mLongSparseArray.put(0, "World");
     40         mSparseIntArray.put(0, 100);
     41         mSparseBooleanArray.put(0, true);
     42         mSparseLongArray.put(0, 5);
     43     }
     44 
     45     @Override
     46     protected void setUp() throws Exception {
     47         super.setUp();
     48         initBinder(new Runnable() {
     49             @Override
     50             public void run() {
     51                 mBinder.setArray(mArray);
     52                 mBinder.setSparseArray(mSparseArray);
     53                 mBinder.setSparseIntArray(mSparseIntArray);
     54                 mBinder.setSparseBooleanArray(mSparseBooleanArray);
     55                 mBinder.setSparseLongArray(mSparseLongArray);
     56                 mBinder.setLongSparseArray(mLongSparseArray);
     57                 mBinder.setIndexObj((Integer) 0);
     58 
     59                 mBinder.executePendingBindings();
     60             }
     61         });
     62     }
     63 
     64     @UiThreadTest
     65     public void testBrackets() {
     66         assertEquals("Hello World", mBinder.arrayText.getText().toString());
     67         assertEquals("Hello", mBinder.sparseArrayText.getText().toString());
     68         assertEquals("World", mBinder.longSparseArrayText.getText().toString());
     69         assertEquals("100", mBinder.sparseIntArrayText.getText().toString());
     70         assertEquals("true", mBinder.sparseBooleanArrayText.getText().toString());
     71         assertEquals("5", mBinder.sparseLongArrayText.getText().toString());
     72     }
     73 
     74     @UiThreadTest
     75     public void testBracketOutOfBounds() {
     76         mBinder.setIndex(1);
     77         mBinder.executePendingBindings();
     78         assertEquals("", mBinder.arrayText.getText().toString());
     79         assertEquals("", mBinder.sparseArrayText.getText().toString());
     80         assertEquals("", mBinder.longSparseArrayText.getText().toString());
     81         assertEquals("0", mBinder.sparseIntArrayText.getText().toString());
     82         assertEquals("false", mBinder.sparseBooleanArrayText.getText().toString());
     83         assertEquals("0", mBinder.sparseLongArrayText.getText().toString());
     84         mBinder.setIndex(-1);
     85         mBinder.executePendingBindings();
     86         assertEquals("", mBinder.arrayText.getText().toString());
     87         assertEquals("", mBinder.sparseArrayText.getText().toString());
     88         assertEquals("", mBinder.longSparseArrayText.getText().toString());
     89         assertEquals("0", mBinder.sparseIntArrayText.getText().toString());
     90         assertEquals("false", mBinder.sparseBooleanArrayText.getText().toString());
     91         assertEquals("0", mBinder.sparseLongArrayText.getText().toString());
     92     }
     93 
     94     @UiThreadTest
     95     public void testBracketObj() {
     96         mBinder.executePendingBindings();
     97         assertEquals("Hello World", mBinder.indexObj.getText().toString());
     98         assertEquals("Hello", mBinder.sparseArrayTextObj.getText().toString());
     99     }
    100 
    101     @UiThreadTest
    102     public void testBracketMap() throws Throwable {
    103         assertEquals("", mBinder.bracketMap.getText().toString());
    104     }
    105 }
    106