/*
* 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 android.widget.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.frameworks.coretests.R;
import android.widget.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.frameworks.coretests", 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);
}
}