18533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar/* 28533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * Copyright (C) 2015 The Android Open Source Project 38533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 48533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * you may not use this file except in compliance with the License. 58533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * You may obtain a copy of the License at 68533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 78533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * Unless required by applicable law or agreed to in writing, software 88533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 98533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 108533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * See the License for the specific language governing permissions and 118533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar * limitations under the License. 128533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar */ 138533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 148533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarpackage android.databinding.testapp; 158533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 168533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarimport android.databinding.testapp.databinding.ConstantBindingWithConditionalBinding; 178533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarimport android.databinding.testapp.vo.BasicObject; 188533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarimport android.databinding.testapp.vo.ConstantBindingTestObject; 198533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarimport android.test.UiThreadTest; 208533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 218533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarimport java.util.ArrayList; 228533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 238533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyarpublic class ConstantWithConditionalTest extends BaseDataBinderTest<ConstantBindingWithConditionalBinding>{ 248533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 258533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar public ConstantWithConditionalTest() { 268533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar super(ConstantBindingWithConditionalBinding.class); 278533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar } 288533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 298533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar @UiThreadTest 308533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar public void testValues() { 318533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar initBinder(); 328533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.executePendingBindings(); 338533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar BasicObject basicObject = new BasicObject(); 348533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar basicObject.setField1("tt"); 358533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar basicObject.setField2("blah"); 368533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar ConstantBindingTestObject obj = new ConstantBindingTestObject(); 378533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.setVm(obj); 388533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.executePendingBindings(); 398533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar assertTrue(mBinder.myTextView.hasFixedSize()); 408533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar assertTrue(mBinder.progressBar.isIndeterminate()); 418533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 428533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar obj.setErrorMessage("blah"); 438533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.invalidateAll(); 448533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.executePendingBindings(); 458533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar assertFalse(mBinder.progressBar.isIndeterminate()); 468533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 478533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar obj.setErrorMessage(null); 488533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar ArrayList<String> list = new ArrayList<>(); 498533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar obj.setCountryModels(list); 508533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.invalidateAll(); 518533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.executePendingBindings(); 528533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar assertTrue(mBinder.progressBar.isIndeterminate()); 538533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 548533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar list.add("abc"); 558533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.invalidateAll(); 568533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar mBinder.executePendingBindings(); 578533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar assertFalse(mBinder.progressBar.isIndeterminate()); 588533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar 598533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar } 608533f27db6c31b0c295ae62d314dbf07ea640571Yigit Boyar} 61