diff options
Diffstat (limited to 'test-runner/src/android/test/ViewAsserts.java')
-rw-r--r-- | test-runner/src/android/test/ViewAsserts.java | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/test-runner/src/android/test/ViewAsserts.java b/test-runner/src/android/test/ViewAsserts.java deleted file mode 100644 index c575fc5..0000000 --- a/test-runner/src/android/test/ViewAsserts.java +++ /dev/null @@ -1,373 +0,0 @@ -/* - * 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.test; - -import static junit.framework.Assert.*; - -import android.view.View; -import android.view.ViewGroup; - -/** - * Some useful assertions about views. - */ -public class ViewAsserts { - - private ViewAsserts() {} - - /** - * Assert that view is on the screen. - * @param origin The root view of the screen. - * @param view The view. - */ - static public void assertOnScreen(View origin, View view) { - int[] xy = new int[2]; - view.getLocationOnScreen(xy); - - int[] xyRoot = new int[2]; - origin.getLocationOnScreen(xyRoot); - - int y = xy[1] - xyRoot[1]; - - assertTrue("view should have positive y coordinate on screen", - y >= 0); - - assertTrue("view should have y location on screen less than drawing " - + "height of root view", - y <= view.getRootView().getHeight()); - } - - /** - * Assert that view is below the visible screen. - * @param origin The root view of the screen. - * @param view The view - */ - static public void assertOffScreenBelow(View origin, View view) { - int[] xy = new int[2]; - view.getLocationOnScreen(xy); - - int[] xyRoot = new int[2]; - origin.getLocationOnScreen(xyRoot); - - int y = xy[1] - xyRoot[1]; - - assertTrue("view should have y location on screen greater than drawing " - + "height of origen view (" + y + " is not greater than " - + origin.getHeight() + ")", - y > origin.getHeight()); - } - - /** - * Assert that view is above the visible screen. - * @param origin Te root view of the screen. - * @param view The view - */ - static public void assertOffScreenAbove(View origin, View view) { - int[] xy = new int[2]; - view.getLocationOnScreen(xy); - - int[] xyRoot = new int[2]; - origin.getLocationOnScreen(xyRoot); - - int y = xy[1] - xyRoot[1]; - - assertTrue("view should have y location less than that of origin view", - y < 0); - } - - /** - * Assert that a view has a particular x and y position on the visible screen. - * @param origin The root view of the screen. - * @param view The view. - * @param x The expected x coordinate. - * @param y The expected y coordinate. - */ - static public void assertHasScreenCoordinates(View origin, View view, int x, int y) { - int[] xy = new int[2]; - view.getLocationOnScreen(xy); - - int[] xyRoot = new int[2]; - origin.getLocationOnScreen(xyRoot); - - assertEquals("x coordinate", x, xy[0] - xyRoot[0]); - assertEquals("y coordinate", y, xy[1] - xyRoot[1]); - } - - /** - * Assert that two views are aligned on their baseline, that is that their baselines - * are on the same y location. - * - * @param first The first view - * @param second The second view - */ - static public void assertBaselineAligned(View first, View second) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstTop = xy[1] + first.getBaseline(); - - second.getLocationOnScreen(xy); - int secondTop = xy[1] + second.getBaseline(); - - assertEquals("views are not baseline aligned", firstTop, secondTop); - } - - /** - * Assert that two views are right aligned, that is that their right edges - * are on the same x location. - * - * @param first The first view - * @param second The second view - */ - static public void assertRightAligned(View first, View second) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstRight = xy[0] + first.getMeasuredWidth(); - - second.getLocationOnScreen(xy); - int secondRight = xy[0] + second.getMeasuredWidth(); - - assertEquals("views are not right aligned", firstRight, secondRight); - } - - /** - * Assert that two views are right aligned, that is that their right edges - * are on the same x location, with respect to the specified margin. - * - * @param first The first view - * @param second The second view - * @param margin The margin between the first view and the second view - */ - static public void assertRightAligned(View first, View second, int margin) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstRight = xy[0] + first.getMeasuredWidth(); - - second.getLocationOnScreen(xy); - int secondRight = xy[0] + second.getMeasuredWidth(); - - assertEquals("views are not right aligned", Math.abs(firstRight - secondRight), margin); - } - - /** - * Assert that two views are left aligned, that is that their left edges - * are on the same x location. - * - * @param first The first view - * @param second The second view - */ - static public void assertLeftAligned(View first, View second) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstLeft = xy[0]; - - second.getLocationOnScreen(xy); - int secondLeft = xy[0]; - - assertEquals("views are not left aligned", firstLeft, secondLeft); - } - - /** - * Assert that two views are left aligned, that is that their left edges - * are on the same x location, with respect to the specified margin. - * - * @param first The first view - * @param second The second view - * @param margin The margin between the first view and the second view - */ - static public void assertLeftAligned(View first, View second, int margin) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstLeft = xy[0]; - - second.getLocationOnScreen(xy); - int secondLeft = xy[0]; - - assertEquals("views are not left aligned", Math.abs(firstLeft - secondLeft), margin); - } - - /** - * Assert that two views are bottom aligned, that is that their bottom edges - * are on the same y location. - * - * @param first The first view - * @param second The second view - */ - static public void assertBottomAligned(View first, View second) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstBottom = xy[1] + first.getMeasuredHeight(); - - second.getLocationOnScreen(xy); - int secondBottom = xy[1] + second.getMeasuredHeight(); - - assertEquals("views are not bottom aligned", firstBottom, secondBottom); - } - - /** - * Assert that two views are bottom aligned, that is that their bottom edges - * are on the same y location, with respect to the specified margin. - * - * @param first The first view - * @param second The second view - * @param margin The margin between the first view and the second view - */ - static public void assertBottomAligned(View first, View second, int margin) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstBottom = xy[1] + first.getMeasuredHeight(); - - second.getLocationOnScreen(xy); - int secondBottom = xy[1] + second.getMeasuredHeight(); - - assertEquals("views are not bottom aligned", Math.abs(firstBottom - secondBottom), margin); - } - - /** - * Assert that two views are top aligned, that is that their top edges - * are on the same y location. - * - * @param first The first view - * @param second The second view - */ - static public void assertTopAligned(View first, View second) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstTop = xy[1]; - - second.getLocationOnScreen(xy); - int secondTop = xy[1]; - - assertEquals("views are not top aligned", firstTop, secondTop); - } - - /** - * Assert that two views are top aligned, that is that their top edges - * are on the same y location, with respect to the specified margin. - * - * @param first The first view - * @param second The second view - * @param margin The margin between the first view and the second view - */ - static public void assertTopAligned(View first, View second, int margin) { - int[] xy = new int[2]; - first.getLocationOnScreen(xy); - int firstTop = xy[1]; - - second.getLocationOnScreen(xy); - int secondTop = xy[1]; - - assertEquals("views are not top aligned", Math.abs(firstTop - secondTop), margin); - } - - /** - * Assert that the <code>test</code> view is horizontally center aligned - * with respect to the <code>reference</code> view. - * - * @param reference The reference view - * @param test The view that should be center aligned with the reference view - */ - static public void assertHorizontalCenterAligned(View reference, View test) { - int[] xy = new int[2]; - reference.getLocationOnScreen(xy); - int referenceLeft = xy[0]; - - test.getLocationOnScreen(xy); - int testLeft = xy[0]; - - int center = (reference.getMeasuredWidth() - test.getMeasuredWidth()) / 2; - int delta = testLeft - referenceLeft; - - assertEquals("views are not horizontally center aligned", center, delta); - } - - /** - * Assert that the <code>test</code> view is vertically center aligned - * with respect to the <code>reference</code> view. - * - * @param reference The reference view - * @param test The view that should be center aligned with the reference view - */ - static public void assertVerticalCenterAligned(View reference, View test) { - int[] xy = new int[2]; - reference.getLocationOnScreen(xy); - int referenceTop = xy[1]; - - test.getLocationOnScreen(xy); - int testTop = xy[1]; - - int center = (reference.getMeasuredHeight() - test.getMeasuredHeight()) / 2; - int delta = testTop - referenceTop; - - assertEquals("views are not vertically center aligned", center, delta); - } - - /** - * Assert the specified group's integrity. The children count should be >= 0 and each - * child should be non-null. - * - * @param parent The group whose integrity to check - */ - static public void assertGroupIntegrity(ViewGroup parent) { - final int count = parent.getChildCount(); - assertTrue("child count should be >= 0", count >= 0); - - for (int i = 0; i < count; i++) { - assertNotNull("group should not contain null children", parent.getChildAt(i)); - assertSame(parent, parent.getChildAt(i).getParent()); - } - } - - /** - * Assert that the specified group contains a specific child once and only once. - * - * @param parent The group - * @param child The child that should belong to group - */ - static public void assertGroupContains(ViewGroup parent, View child) { - final int count = parent.getChildCount(); - assertTrue("Child count should be >= 0", count >= 0); - - boolean found = false; - for (int i = 0; i < count; i++) { - if (parent.getChildAt(i) == child) { - if (!found) { - found = true; - } else { - assertTrue("child " + child + " is duplicated in parent", false); - } - } - } - - assertTrue("group does not contain " + child, found); - } - - /** - * Assert that the specified group does not contain a specific child. - * - * @param parent The group - * @param child The child that should not belong to group - */ - static public void assertGroupNotContains(ViewGroup parent, View child) { - final int count = parent.getChildCount(); - assertTrue("Child count should be >= 0", count >= 0); - - for (int i = 0; i < count; i++) { - if (parent.getChildAt(i) == child) { - assertTrue("child " + child + " is found in parent", false); - } - } - } -} |