171eb6908f2689bd17000237eb645896c36da0138George Mount/*
271eb6908f2689bd17000237eb645896c36da0138George Mount * Copyright (C) 2015 The Android Open Source Project
371eb6908f2689bd17000237eb645896c36da0138George Mount *
471eb6908f2689bd17000237eb645896c36da0138George Mount * Licensed under the Apache License, Version 2.0 (the "License");
571eb6908f2689bd17000237eb645896c36da0138George Mount * you may not use this file except in compliance with the License.
671eb6908f2689bd17000237eb645896c36da0138George Mount * You may obtain a copy of the License at
771eb6908f2689bd17000237eb645896c36da0138George Mount *
871eb6908f2689bd17000237eb645896c36da0138George Mount *      http://www.apache.org/licenses/LICENSE-2.0
971eb6908f2689bd17000237eb645896c36da0138George Mount *
1071eb6908f2689bd17000237eb645896c36da0138George Mount * Unless required by applicable law or agreed to in writing, software
1171eb6908f2689bd17000237eb645896c36da0138George Mount * distributed under the License is distributed on an "AS IS" BASIS,
1271eb6908f2689bd17000237eb645896c36da0138George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1371eb6908f2689bd17000237eb645896c36da0138George Mount * See the License for the specific language governing permissions and
1471eb6908f2689bd17000237eb645896c36da0138George Mount * limitations under the License.
1571eb6908f2689bd17000237eb645896c36da0138George Mount */
16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp;
1771eb6908f2689bd17000237eb645896c36da0138George Mount
182e2043d30f95585de2069e1cbb23e022ab0e71c4George Mountimport android.databinding.testapp.databinding.AbsListViewAdapterTestBinding;
19fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.testapp.vo.AbsListViewBindingObject;
2071eb6908f2689bd17000237eb645896c36da0138George Mount
2171eb6908f2689bd17000237eb645896c36da0138George Mountimport android.graphics.drawable.ColorDrawable;
2271eb6908f2689bd17000237eb645896c36da0138George Mountimport android.os.Build;
23f9e51c010bd2eab9cca01baaccc0e5a73b8b72c9Yigit Boyarimport android.os.Debug;
2471eb6908f2689bd17000237eb645896c36da0138George Mountimport android.widget.ListView;
2571eb6908f2689bd17000237eb645896c36da0138George Mount
2671eb6908f2689bd17000237eb645896c36da0138George Mountpublic class AbsListViewBindingAdapterTest
274c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount        extends BindingAdapterTestBase<AbsListViewAdapterTestBinding, AbsListViewBindingObject> {
2871eb6908f2689bd17000237eb645896c36da0138George Mount
2971eb6908f2689bd17000237eb645896c36da0138George Mount    ListView mView;
3071eb6908f2689bd17000237eb645896c36da0138George Mount
3171eb6908f2689bd17000237eb645896c36da0138George Mount    public AbsListViewBindingAdapterTest() {
324c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount        super(AbsListViewAdapterTestBinding.class, AbsListViewBindingObject.class,
3371eb6908f2689bd17000237eb645896c36da0138George Mount                R.layout.abs_list_view_adapter_test);
3471eb6908f2689bd17000237eb645896c36da0138George Mount    }
3571eb6908f2689bd17000237eb645896c36da0138George Mount
3671eb6908f2689bd17000237eb645896c36da0138George Mount    @Override
3771eb6908f2689bd17000237eb645896c36da0138George Mount    protected void setUp() throws Exception {
3871eb6908f2689bd17000237eb645896c36da0138George Mount        super.setUp();
393f73e3149732132c02f5d19aab7b5da429794058Yigit Boyar        mView = getBinder().view;
4071eb6908f2689bd17000237eb645896c36da0138George Mount    }
4171eb6908f2689bd17000237eb645896c36da0138George Mount
4271eb6908f2689bd17000237eb645896c36da0138George Mount    public void testListSelector() throws Throwable {
4371eb6908f2689bd17000237eb645896c36da0138George Mount        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
4471eb6908f2689bd17000237eb645896c36da0138George Mount            assertEquals(mBindingObject.getListSelector().getColor(),
4571eb6908f2689bd17000237eb645896c36da0138George Mount                    ((ColorDrawable) mView.getSelector()).getColor());
4671eb6908f2689bd17000237eb645896c36da0138George Mount
4771eb6908f2689bd17000237eb645896c36da0138George Mount            changeValues();
4871eb6908f2689bd17000237eb645896c36da0138George Mount
4971eb6908f2689bd17000237eb645896c36da0138George Mount            assertEquals(mBindingObject.getListSelector().getColor(),
5071eb6908f2689bd17000237eb645896c36da0138George Mount                    ((ColorDrawable) mView.getSelector()).getColor());
5171eb6908f2689bd17000237eb645896c36da0138George Mount        }
5271eb6908f2689bd17000237eb645896c36da0138George Mount    }
5371eb6908f2689bd17000237eb645896c36da0138George Mount
5471eb6908f2689bd17000237eb645896c36da0138George Mount    public void testScrollingCache() throws Throwable {
5571eb6908f2689bd17000237eb645896c36da0138George Mount        assertEquals(mBindingObject.isScrollingCache(), mView.isScrollingCacheEnabled());
5671eb6908f2689bd17000237eb645896c36da0138George Mount
5771eb6908f2689bd17000237eb645896c36da0138George Mount        changeValues();
5871eb6908f2689bd17000237eb645896c36da0138George Mount
5971eb6908f2689bd17000237eb645896c36da0138George Mount        assertEquals(mBindingObject.isScrollingCache(), mView.isScrollingCacheEnabled());
6071eb6908f2689bd17000237eb645896c36da0138George Mount    }
6171eb6908f2689bd17000237eb645896c36da0138George Mount
6271eb6908f2689bd17000237eb645896c36da0138George Mount    public void testSmoothScrollbar() throws Throwable {
6371eb6908f2689bd17000237eb645896c36da0138George Mount        assertEquals(mBindingObject.isSmoothScrollbar(), mView.isSmoothScrollbarEnabled());
6471eb6908f2689bd17000237eb645896c36da0138George Mount
6571eb6908f2689bd17000237eb645896c36da0138George Mount        changeValues();
6671eb6908f2689bd17000237eb645896c36da0138George Mount
6771eb6908f2689bd17000237eb645896c36da0138George Mount        assertEquals(mBindingObject.isSmoothScrollbar(), mView.isSmoothScrollbarEnabled());
6871eb6908f2689bd17000237eb645896c36da0138George Mount    }
6971eb6908f2689bd17000237eb645896c36da0138George Mount}
70