198e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount/* 298e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * Copyright (C) 2015 The Android Open Source Project 398e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 498e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * you may not use this file except in compliance with the License. 598e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * You may obtain a copy of the License at 698e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * http://www.apache.org/licenses/LICENSE-2.0 798e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * Unless required by applicable law or agreed to in writing, software 898e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * distributed under the License is distributed on an "AS IS" BASIS, 998e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1098e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * See the License for the specific language governing permissions and 1198e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount * limitations under the License. 1298e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount */ 1398e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 14fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp; 1598e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 162e2043d30f95585de2069e1cbb23e022ab0e71c4George Mountimport android.databinding.testapp.databinding.BindToFinalObservableBinding; 17fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.testapp.vo.PublicFinalWithObservableTestVo; 1898e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 1998e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mountimport android.test.UiThreadTest; 2098e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mountimport android.widget.TextView; 2198e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 224c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mountpublic class BindToFinalObservableFieldTest extends BaseDataBinderTest<BindToFinalObservableBinding>{ 2398e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 2498e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount public BindToFinalObservableFieldTest() { 254c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount super(BindToFinalObservableBinding.class); 2698e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount } 2798e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 2898e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount @UiThreadTest 2998e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount public void testSimple() { 303f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar initBinder(); 3198e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount final PublicFinalWithObservableTestVo vo = new PublicFinalWithObservableTestVo(R.string.app_name); 3298e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount mBinder.setObj(vo); 334c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount mBinder.executePendingBindings(); 3498e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount final TextView textView = (TextView) mBinder.getRoot().findViewById(R.id.text_view); 3598e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount assertEquals(getActivity().getResources().getString(R.string.app_name), textView.getText().toString()); 36b0c02d8951351c7b1b2c87dacd751ba56d103013Yigit Boyar vo.myFinalVo.setVal(R.string.rain); 374c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount mBinder.executePendingBindings(); 38b0c02d8951351c7b1b2c87dacd751ba56d103013Yigit Boyar assertEquals("The field should be observed and its notify event should've invalidated" 39b0c02d8951351c7b1b2c87dacd751ba56d103013Yigit Boyar + " binder flags.", getActivity().getResources().getString(R.string.rain), 40b0c02d8951351c7b1b2c87dacd751ba56d103013Yigit Boyar textView.getText().toString()); 4198e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount } 4298e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 4398e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount 4498e4b7a419c91797a7ef66158fa0ce9aaacc8817George Mount} 45