| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.frameworktest.layout.linear; |
| |
| import android.app.Activity; |
| import android.test.ActivityInstrumentationTestCase; |
| import android.test.suitebuilder.annotation.MediumTest; |
| import android.view.View; |
| import android.widget.ImageButton; |
| |
| import com.android.frameworktest.R; |
| import com.android.frameworktest.layout.linear.BaselineButtons; |
| |
| public class BaselineButtonsTest extends ActivityInstrumentationTestCase<BaselineButtons> { |
| private View mCurrentTime; |
| private View mTotalTime; |
| private ImageButton mPrev; |
| private ImageButton mNext; |
| private ImageButton mPause; |
| private View mLayout; |
| |
| public BaselineButtonsTest() { |
| super("com.android.frameworktest", BaselineButtons.class); |
| } |
| |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| |
| final Activity activity = getActivity(); |
| mCurrentTime = activity.findViewById(R.id.currenttime); |
| mTotalTime = activity.findViewById(R.id.totaltime); |
| mPrev = (ImageButton) activity.findViewById(R.id.prev); |
| mNext = (ImageButton) activity.findViewById(R.id.next); |
| mPause = (ImageButton) activity.findViewById(R.id.pause); |
| mLayout = activity.findViewById(R.id.layout); |
| } |
| |
| @MediumTest |
| public void testPreconditions() { |
| assertNotNull(mCurrentTime); |
| assertNotNull(mTotalTime); |
| assertNotNull(mPrev); |
| assertNotNull(mNext); |
| assertNotNull(mPause); |
| assertNotNull(mLayout); |
| } |
| |
| @MediumTest |
| public void testLayout() { |
| int pauseHeight = Math.max(mPause.getDrawable().getIntrinsicHeight() |
| + mPause.getPaddingTop() + mPause.getPaddingBottom(), |
| mPause.getBackground().getMinimumHeight()); |
| int prevHeight = Math.max(mPrev.getDrawable().getIntrinsicHeight() + mPrev.getPaddingTop() |
| + mPrev.getPaddingBottom(), |
| mPrev.getBackground().getMinimumHeight()); |
| int nextHeight = Math.max(mNext.getDrawable().getIntrinsicHeight() + mNext.getPaddingTop() |
| + mNext.getPaddingBottom(), |
| mNext.getBackground().getMinimumHeight()); |
| assertEquals("Layout incorrect height", pauseHeight, mLayout.getHeight()); |
| assertEquals("Pause incorrect height", pauseHeight, mPause.getHeight()); |
| assertEquals("Prev incorrect height", prevHeight, mPrev.getHeight()); |
| assertEquals("Next incorrect height", nextHeight, mNext.getHeight()); |
| assertEquals("Pause wrong top", 0, mPause.getTop()); |
| assertEquals("Prev wrong top", (pauseHeight - prevHeight) / 2, mPrev.getTop()); |
| assertEquals("Next wrong top", (pauseHeight - nextHeight) / 2, mNext.getTop()); |
| assertEquals("CurrentTime wrong bottom", pauseHeight, mCurrentTime.getBottom()); |
| assertEquals("TotalTime wrong bottom", pauseHeight, mTotalTime.getBottom()); |
| assertTrue("CurrentTime too tall", mCurrentTime.getTop() > 0); |
| assertTrue("TotalTime too tall", mTotalTime.getTop() > 0); |
| } |
| } |