aboutsummaryrefslogtreecommitdiff
path: root/tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java')
-rw-r--r--tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java147
1 files changed, 147 insertions, 0 deletions
diff --git a/tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java b/tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java
new file mode 100644
index 00000000..214b0631
--- /dev/null
+++ b/tuner/tests/unittests/javatests/com/android/tv/tuner/layout/tests/ScaledLayoutTest.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2015 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.tv.tuner.layout.tests;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+
+import android.content.Intent;
+import android.support.test.filters.SmallTest;
+import android.support.test.rule.ActivityTestRule;
+import android.support.test.runner.AndroidJUnit4;
+import android.view.View;
+import android.widget.FrameLayout;
+import com.android.tv.tuner.layout.ScaledLayout;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ScaledLayoutTest {
+
+ @Rule public ScaledActivityTestRule mActivityRule = new ScaledActivityTestRule();
+
+ @Before
+ public void setup() {
+ mActivityRule.launchActivity(new Intent());
+ }
+
+ @After
+ public void tearDown() {
+ mActivityRule.finishActivity();
+ }
+
+ @Test
+ public void testScaledLayout_layoutInXml() {
+ ScaledLayoutActivity activity = mActivityRule.getActivity();
+ assertNotNull(activity);
+ FrameLayout rootLayout = mActivityRule.getActivity().findViewById(R.id.root_layout);
+ assertNotNull(rootLayout);
+ ScaledLayout scaledLayout = (ScaledLayout) rootLayout.getChildAt(0);
+ assertNotNull(scaledLayout);
+ View view1 = scaledLayout.findViewById(R.id.view1);
+ assertNotNull(view1);
+ View view2 = scaledLayout.findViewById(R.id.view2);
+ assertNotNull(view2);
+ View view3 = scaledLayout.findViewById(R.id.view3);
+ assertNotNull(view3);
+ View view4 = scaledLayout.findViewById(R.id.view4);
+ assertNotNull(view4);
+ assertEquals((int) (400 * 0.1), view1.getWidth());
+ assertEquals((int) (300 * 0.2), view1.getHeight());
+ assertEquals((int) (400 * 0.8), view1.getLeft());
+ assertEquals((int) (300 * 0.1), view1.getTop());
+ assertEquals((int) (400 * 0.1), view2.getWidth());
+ assertEquals(300, view2.getHeight());
+ assertEquals((int) (400 * 0.2), view2.getLeft());
+ assertEquals(0, view2.getTop());
+ assertEquals((int) (400 * 0.2), view3.getWidth());
+ assertEquals((int) (300 * 0.1), view3.getHeight());
+ assertEquals((int) (400 * 0.3), view3.getLeft());
+ assertEquals((int) (300 * 0.4), view3.getTop());
+ assertEquals((int) (400 * 0.1), view4.getWidth());
+ assertEquals((int) (300 * 0.8), view4.getHeight());
+ assertEquals((int) (400 * 0.05), view4.getLeft());
+ assertEquals((int) (300 * 0.15), view4.getTop());
+ }
+
+ @Test
+ public void testScaledLayout_layoutThroughCode() {
+ ScaledLayoutActivity activity = mActivityRule.getActivity();
+ assertNotNull(activity);
+ FrameLayout rootLayout = mActivityRule.getActivity().findViewById(R.id.root_layout);
+ assertNotNull(rootLayout);
+ ScaledLayout scaledLayout = (ScaledLayout) rootLayout.getChildAt(1);
+ assertNotNull(scaledLayout);
+ View view1 = scaledLayout.findViewById(R.id.view1);
+ assertNotNull(view1);
+ View view2 = scaledLayout.findViewById(R.id.view2);
+ assertNotNull(view2);
+ View view3 = scaledLayout.findViewById(R.id.view3);
+ assertNotNull(view3);
+ View view4 = scaledLayout.findViewById(R.id.view4);
+ assertNotNull(view4);
+ assertEquals(50, view1.getWidth());
+ assertEquals(50, view1.getHeight());
+ assertEquals(0, view1.getLeft());
+ assertEquals(0, view1.getTop());
+ assertEquals(50, view2.getWidth());
+ assertEquals(50, view2.getHeight());
+ assertEquals(50, view2.getLeft());
+ assertEquals(0, view2.getTop());
+ assertEquals(50, view3.getWidth());
+ assertEquals(50, view3.getHeight());
+ assertEquals(0, view3.getLeft());
+ assertEquals(50, view3.getTop());
+ assertEquals(50, view4.getWidth());
+ assertEquals(50, view4.getHeight());
+ assertEquals(50, view4.getLeft());
+ assertEquals(50, view4.getTop());
+ }
+
+ @Test
+ public void testScaledLayout_bounceY() {
+ ScaledLayoutActivity activity = mActivityRule.getActivity();
+ assertNotNull(activity);
+ FrameLayout rootLayout = mActivityRule.getActivity().findViewById(R.id.root_layout);
+ assertNotNull(rootLayout);
+ ScaledLayout scaledLayout = (ScaledLayout) rootLayout.getChildAt(2);
+ assertNotNull(scaledLayout);
+ View view1 = scaledLayout.findViewById(R.id.view1);
+ assertNotNull(view1);
+ View view2 = scaledLayout.findViewById(R.id.view2);
+ assertNotNull(view2);
+ assertEquals(100, view1.getWidth());
+ assertEquals(20, view1.getHeight());
+ assertEquals(0, view1.getLeft());
+ assertEquals(60, view1.getTop());
+ assertEquals(100, view2.getWidth());
+ assertEquals(20, view2.getHeight());
+ assertEquals(0, view2.getLeft());
+ assertEquals(80, view2.getTop());
+ }
+
+ private static class ScaledActivityTestRule extends ActivityTestRule<ScaledLayoutActivity> {
+
+ public ScaledActivityTestRule() {
+ super(ScaledLayoutActivity.class);
+ }
+ }
+}