ConditionalBindingTest.java revision d615f15f0f0cc4c4de7570119d181e13d44e708a
1package android.databinding.testapp; 2 3import android.databinding.testapp.databinding.ConditionalBindingBinding; 4import android.databinding.testapp.vo.ConditionalVo; 5import android.databinding.testapp.vo.NotBindableVo; 6 7import android.test.UiThreadTest; 8 9public class ConditionalBindingTest extends BaseDataBinderTest<ConditionalBindingBinding>{ 10 11 public ConditionalBindingTest() { 12 super(ConditionalBindingBinding.class); 13 } 14 15 @UiThreadTest 16 public void test1() { 17 initBinder(); 18 testCorrectness(true, true); 19 } 20 21 @UiThreadTest 22 public void testTernary() throws Throwable { 23 ConditionalVo obj4 = new ConditionalVo(); 24 initBinder(); 25 mBinder.setObj4(obj4); 26 mBinder.executePendingBindings(); 27 assertEquals("hello", mBinder.textView1.getText().toString()); 28 obj4.setUseHello(true); 29 mBinder.executePendingBindings(); 30 assertEquals("Hello World", mBinder.textView1.getText().toString()); 31 } 32 33 private void testCorrectness(boolean cond1, boolean cond2) { 34 NotBindableVo o1 = new NotBindableVo("a"); 35 NotBindableVo o2 = new NotBindableVo("b"); 36 NotBindableVo o3 = new NotBindableVo("c"); 37 mBinder.setObj1(o1); 38 mBinder.setObj2(o2); 39 mBinder.setObj3(o3); 40 mBinder.setCond1(cond1); 41 mBinder.setCond2(cond2); 42 mBinder.executePendingBindings(); 43 final String text = mBinder.textView.getText().toString(); 44 assertEquals(cond1 && cond2, "a".equals(text)); 45 assertEquals(cond1 && !cond2, "b".equals(text)); 46 assertEquals(!cond1, "c".equals(text)); 47 } 48} 49