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