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 shouldGetIsDitherInfo()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 shouldGetIsAntiAlias()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 testCtor()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 testCtorWithPaint()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 shouldGetAndSetTextAlignment()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 measureTextActuallyMeasuresLength()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 createPaintFromPaint()77 public void createPaintFromPaint() throws Exception { 78 Paint origPaint = new Paint(); 79 assertThat(new Paint(origPaint).getTextLocale()).isSameAs(origPaint.getTextLocale()); 80 } 81 } 82