Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import static org.assertj.core.api.Assertions.assertThat;
      4 import static org.junit.Assert.assertFalse;
      5 import static org.junit.Assert.assertTrue;
      6 import static org.robolectric.Shadows.shadowOf;
      7 
      8 import android.graphics.Color;
      9 import android.graphics.Paint;
     10 import org.junit.Test;
     11 import org.junit.runner.RunWith;
     12 import org.robolectric.RobolectricTestRunner;
     13 import org.robolectric.shadow.api.Shadow;
     14 
     15 @RunWith(RobolectricTestRunner.class)
     16 public class ShadowPaintTest {
     17 
     18   @Test
     19   public void shouldGetIsDitherInfo() {
     20     Paint paint = Shadow.newInstanceOf(Paint.class);
     21     assertFalse(paint.isAntiAlias());
     22     ShadowPaint shadowPaint = shadowOf(paint);
     23     shadowPaint.setAntiAlias(true);
     24     assertTrue(paint.isAntiAlias());
     25   }
     26 
     27   @Test
     28   public void shouldGetIsAntiAlias() {
     29     Paint paint = Shadow.newInstanceOf(Paint.class);
     30     assertFalse(paint.isAntiAlias());
     31     ShadowPaint shadowPaint = shadowOf(paint);
     32     shadowPaint.setAntiAlias(true);
     33     assertTrue(paint.isAntiAlias());
     34     shadowPaint.setAntiAlias(false);
     35     assertFalse(paint.isAntiAlias());
     36   }
     37 
     38   @Test
     39   public void testCtor() {
     40     Paint paint = Shadow.newInstanceOf(Paint.class);
     41     assertFalse(paint.isAntiAlias());
     42     ShadowPaint shadowPaint = shadowOf(paint);
     43     shadowPaint.__constructor__( Paint.ANTI_ALIAS_FLAG );
     44     assertTrue(paint.isAntiAlias());
     45   }
     46 
     47   @Test
     48   public void testCtorWithPaint() {
     49     Paint paint = new Paint();
     50     paint.setColor(Color.RED);
     51     paint.setAlpha(72);
     52     paint.setFlags(2345);
     53 
     54     Paint other = new Paint(paint);
     55     assertThat(other.getColor()).isEqualTo(Color.RED);
     56     assertThat(other.getAlpha()).isEqualTo(72);
     57     assertThat(other.getFlags()).isEqualTo(2345);
     58   }
     59 
     60   @Test
     61   public void shouldGetAndSetTextAlignment() throws Exception {
     62     Paint paint = Shadow.newInstanceOf(Paint.class);
     63     assertThat(paint.getTextAlign()).isEqualTo(Paint.Align.LEFT);
     64     paint.setTextAlign(Paint.Align.CENTER);
     65     assertThat(paint.getTextAlign()).isEqualTo(Paint.Align.CENTER);
     66   }
     67 
     68   @Test
     69   public void measureTextActuallyMeasuresLength() throws Exception {
     70     Paint paint = Shadow.newInstanceOf(Paint.class);
     71     assertThat(paint.measureText("Hello")).isEqualTo(5);
     72     assertThat(paint.measureText("Hello", 1, 3)).isEqualTo(2);
     73     assertThat(paint.measureText(new StringBuilder("Hello"), 1, 4)).isEqualTo(3);
     74   }
     75 
     76   @Test
     77   public void createPaintFromPaint() throws Exception {
     78     Paint origPaint = new Paint();
     79     assertThat(new Paint(origPaint).getTextLocale()).isSameAs(origPaint.getTextLocale());
     80   }
     81 }
     82