1ae7cb82316e351c488ee3b9c7226602321f34301George Mount/* 2ae7cb82316e351c488ee3b9c7226602321f34301George Mount * Copyright (C) 2015 The Android Open Source Project 3ae7cb82316e351c488ee3b9c7226602321f34301George Mount * 4ae7cb82316e351c488ee3b9c7226602321f34301George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 5ae7cb82316e351c488ee3b9c7226602321f34301George Mount * you may not use this file except in compliance with the License. 6ae7cb82316e351c488ee3b9c7226602321f34301George Mount * You may obtain a copy of the License at 7ae7cb82316e351c488ee3b9c7226602321f34301George Mount * 8ae7cb82316e351c488ee3b9c7226602321f34301George Mount * http://www.apache.org/licenses/LICENSE-2.0 9ae7cb82316e351c488ee3b9c7226602321f34301George Mount * 10ae7cb82316e351c488ee3b9c7226602321f34301George Mount * Unless required by applicable law or agreed to in writing, software 11ae7cb82316e351c488ee3b9c7226602321f34301George Mount * distributed under the License is distributed on an "AS IS" BASIS, 12ae7cb82316e351c488ee3b9c7226602321f34301George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ae7cb82316e351c488ee3b9c7226602321f34301George Mount * See the License for the specific language governing permissions and 14ae7cb82316e351c488ee3b9c7226602321f34301George Mount * limitations under the License. 15ae7cb82316e351c488ee3b9c7226602321f34301George Mount */ 16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp; 17ae7cb82316e351c488ee3b9c7226602321f34301George Mount 182e2043d30f95585de2069e1cbb23e022ab0e71c4George Mountimport android.databinding.testapp.databinding.ResourceTestBinding; 19ae7cb82316e351c488ee3b9c7226602321f34301George Mount 20ae7cb82316e351c488ee3b9c7226602321f34301George Mountimport android.test.UiThreadTest; 21ae7cb82316e351c488ee3b9c7226602321f34301George Mountimport android.widget.TextView; 22ae7cb82316e351c488ee3b9c7226602321f34301George Mount 234c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mountpublic class ResourceTest extends BaseDataBinderTest<ResourceTestBinding> { 24ae7cb82316e351c488ee3b9c7226602321f34301George Mount 25ae7cb82316e351c488ee3b9c7226602321f34301George Mount public ResourceTest() { 264c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount super(ResourceTestBinding.class); 27ae7cb82316e351c488ee3b9c7226602321f34301George Mount } 28ae7cb82316e351c488ee3b9c7226602321f34301George Mount 29ae7cb82316e351c488ee3b9c7226602321f34301George Mount @Override 30ae7cb82316e351c488ee3b9c7226602321f34301George Mount protected void setUp() throws Exception { 31ae7cb82316e351c488ee3b9c7226602321f34301George Mount super.setUp(); 323f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar initBinder(new Runnable() { 333f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar @Override 343f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar public void run() { 353f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.setCount(0); 363f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.setTitle("Mrs."); 373f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.setLastName("Doubtfire"); 383f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.setBase(2); 393f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.setPbase(3); 403f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar mBinder.executePendingBindings(); 413f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar } 423f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar }); 43ae7cb82316e351c488ee3b9c7226602321f34301George Mount } 44ae7cb82316e351c488ee3b9c7226602321f34301George Mount 45ae7cb82316e351c488ee3b9c7226602321f34301George Mount @UiThreadTest 46ae7cb82316e351c488ee3b9c7226602321f34301George Mount public void testStringFormat() throws Throwable { 4734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount TextView view = mBinder.textView0; 48ae7cb82316e351c488ee3b9c7226602321f34301George Mount assertEquals("Mrs. Doubtfire", view.getText().toString()); 49ae7cb82316e351c488ee3b9c7226602321f34301George Mount 50ae7cb82316e351c488ee3b9c7226602321f34301George Mount mBinder.setTitle("Mr."); 514c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount mBinder.executePendingBindings(); 52ae7cb82316e351c488ee3b9c7226602321f34301George Mount assertEquals("Mr. Doubtfire", view.getText().toString()); 53ae7cb82316e351c488ee3b9c7226602321f34301George Mount } 54ae7cb82316e351c488ee3b9c7226602321f34301George Mount 55ae7cb82316e351c488ee3b9c7226602321f34301George Mount @UiThreadTest 56ae7cb82316e351c488ee3b9c7226602321f34301George Mount public void testQuantityString() throws Throwable { 5734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount TextView view = mBinder.textView1; 58ae7cb82316e351c488ee3b9c7226602321f34301George Mount assertEquals("oranges", view.getText().toString()); 59ae7cb82316e351c488ee3b9c7226602321f34301George Mount 60ae7cb82316e351c488ee3b9c7226602321f34301George Mount mBinder.setCount(1); 614c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount mBinder.executePendingBindings(); 62ae7cb82316e351c488ee3b9c7226602321f34301George Mount assertEquals("orange", view.getText().toString()); 63ae7cb82316e351c488ee3b9c7226602321f34301George Mount } 6437cd0236216489d15d446543b39d59509401e1a7George Mount 6537cd0236216489d15d446543b39d59509401e1a7George Mount @UiThreadTest 6637cd0236216489d15d446543b39d59509401e1a7George Mount public void testFractionNoParameters() throws Throwable { 6734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount TextView view = mBinder.fractionNoParameters; 6837cd0236216489d15d446543b39d59509401e1a7George Mount assertEquals("1.5", view.getText().toString()); 6937cd0236216489d15d446543b39d59509401e1a7George Mount } 7037cd0236216489d15d446543b39d59509401e1a7George Mount 7137cd0236216489d15d446543b39d59509401e1a7George Mount @UiThreadTest 7237cd0236216489d15d446543b39d59509401e1a7George Mount public void testFractionOneParameter() throws Throwable { 7334a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount TextView view = mBinder.fractionOneParameter; 7437cd0236216489d15d446543b39d59509401e1a7George Mount assertEquals("3.0", view.getText().toString()); 7537cd0236216489d15d446543b39d59509401e1a7George Mount } 7637cd0236216489d15d446543b39d59509401e1a7George Mount 7737cd0236216489d15d446543b39d59509401e1a7George Mount @UiThreadTest 7837cd0236216489d15d446543b39d59509401e1a7George Mount public void testFractionTwoParameters() throws Throwable { 7934a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount TextView view = mBinder.fractionTwoParameters; 8037cd0236216489d15d446543b39d59509401e1a7George Mount assertEquals("9.0", view.getText().toString()); 8137cd0236216489d15d446543b39d59509401e1a7George Mount } 82ae7cb82316e351c488ee3b9c7226602321f34301George Mount} 83