Home | History | Annotate | Download | only in cts
      1 /*
      2  * Copyright (C) 2008 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.view.cts;
     18 
     19 import static org.junit.Assert.assertEquals;
     20 
     21 import android.support.test.filters.SmallTest;
     22 import android.support.test.runner.AndroidJUnit4;
     23 import android.view.View;
     24 import android.view.View.MeasureSpec;
     25 
     26 import org.junit.Before;
     27 import org.junit.Test;
     28 import org.junit.runner.RunWith;
     29 
     30 /**
     31  * Test {@link MeasureSpec}.
     32  */
     33 @SmallTest
     34 @RunWith(AndroidJUnit4.class)
     35 public class View_MeasureSpecTest {
     36     private static final int MEASURE_SPEC_SIZE = 1;
     37 
     38     private int mUnspecifiedMeasureSpec;
     39     private int mExactlyMeasureSpec;
     40     private int mAtMostMeasureSpec;
     41 
     42     @Before
     43     public void setup() {
     44         mUnspecifiedMeasureSpec = View.MeasureSpec.makeMeasureSpec(MEASURE_SPEC_SIZE,
     45                 View.MeasureSpec.UNSPECIFIED);
     46         mExactlyMeasureSpec = View.MeasureSpec.makeMeasureSpec(MEASURE_SPEC_SIZE,
     47                 View.MeasureSpec.EXACTLY);
     48         mAtMostMeasureSpec = View.MeasureSpec.makeMeasureSpec(MEASURE_SPEC_SIZE,
     49                 View.MeasureSpec.AT_MOST);
     50     }
     51 
     52     @Test
     53     public void testGetSize() {
     54         assertEquals(MEASURE_SPEC_SIZE,
     55                 View.MeasureSpec.getSize(mUnspecifiedMeasureSpec));
     56         assertEquals(MEASURE_SPEC_SIZE,
     57                 View.MeasureSpec.getSize(mExactlyMeasureSpec));
     58         assertEquals(MEASURE_SPEC_SIZE,
     59                 View.MeasureSpec.getSize(mAtMostMeasureSpec));
     60     }
     61 
     62     @Test
     63     public void testToString() {
     64         assertEquals("MeasureSpec: UNSPECIFIED " + MEASURE_SPEC_SIZE,
     65                 View.MeasureSpec.toString(mUnspecifiedMeasureSpec));
     66         assertEquals("MeasureSpec: EXACTLY " + MEASURE_SPEC_SIZE,
     67                 View.MeasureSpec.toString(mExactlyMeasureSpec));
     68         assertEquals("MeasureSpec: AT_MOST " + MEASURE_SPEC_SIZE,
     69                 View.MeasureSpec.toString(mAtMostMeasureSpec));
     70     }
     71 
     72     @Test
     73     public void testGetMode() {
     74         assertEquals(View.MeasureSpec.UNSPECIFIED,
     75                 View.MeasureSpec.getMode(mUnspecifiedMeasureSpec));
     76         assertEquals(View.MeasureSpec.EXACTLY,
     77                 View.MeasureSpec.getMode(mExactlyMeasureSpec));
     78         assertEquals(View.MeasureSpec.AT_MOST,
     79                 View.MeasureSpec.getMode(mAtMostMeasureSpec));
     80     }
     81 
     82     @Test
     83     public void testMakeMeasureSpec() {
     84         assertEquals(MEASURE_SPEC_SIZE + View.MeasureSpec.UNSPECIFIED,
     85                 mUnspecifiedMeasureSpec);
     86         assertEquals(MEASURE_SPEC_SIZE + View.MeasureSpec.EXACTLY,
     87                 mExactlyMeasureSpec);
     88         assertEquals(MEASURE_SPEC_SIZE + View.MeasureSpec.AT_MOST,
     89                 mAtMostMeasureSpec);
     90     }
     91 }
     92