• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 import static org.junit.Assert.assertSame;
5 import static org.robolectric.Shadows.shadowOf;
6 
7 import android.view.Gravity;
8 import android.widget.LinearLayout;
9 import androidx.test.core.app.ApplicationProvider;
10 import androidx.test.ext.junit.runners.AndroidJUnit4;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 
15 @RunWith(AndroidJUnit4.class)
16 public class ShadowLinearLayoutTest {
17   private LinearLayout linearLayout;
18   private ShadowLinearLayout shadow;
19 
20   @Before
setup()21   public void setup() {
22     linearLayout = new LinearLayout(ApplicationProvider.getApplicationContext());
23     shadow = shadowOf(linearLayout);
24   }
25 
26   @Test
getLayoutParams_shouldReturnTheSameLinearLayoutParamsFromTheSetter()27   public void getLayoutParams_shouldReturnTheSameLinearLayoutParamsFromTheSetter() {
28     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(1, 2);
29     linearLayout.setLayoutParams(params);
30 
31     assertSame(params, linearLayout.getLayoutParams());
32   }
33 
34   @Test
canAnswerOrientation()35   public void canAnswerOrientation() {
36     assertThat(linearLayout.getOrientation()).isEqualTo(LinearLayout.HORIZONTAL);
37     linearLayout.setOrientation(LinearLayout.VERTICAL);
38     assertThat(linearLayout.getOrientation()).isEqualTo(LinearLayout.VERTICAL);
39     linearLayout.setOrientation(LinearLayout.HORIZONTAL);
40     assertThat(linearLayout.getOrientation()).isEqualTo(LinearLayout.HORIZONTAL);
41   }
42 
43   @Test
canAnswerGravity()44   public void canAnswerGravity() {
45     assertThat(shadow.getGravity()).isEqualTo(Gravity.TOP | Gravity.START);
46     linearLayout.setGravity(Gravity.CENTER_VERTICAL); // Only affects horizontal.
47     assertThat(shadow.getGravity()).isEqualTo(Gravity.CENTER_VERTICAL | Gravity.START);
48     linearLayout.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL); // Affects both directions.
49     assertThat(shadow.getGravity()).isEqualTo(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
50   }
51 }
52