1package com.xtremelabs.robolectric.shadows; 2 3import static com.xtremelabs.robolectric.Robolectric.shadowOf; 4import static org.hamcrest.CoreMatchers.equalTo; 5import static org.hamcrest.CoreMatchers.is; 6import static org.junit.Assert.assertThat; 7 8import org.junit.Before; 9import org.junit.Test; 10import org.junit.runner.RunWith; 11 12import android.app.Activity; 13import android.content.Context; 14import android.os.Vibrator; 15 16import com.xtremelabs.robolectric.WithTestDefaultsRunner; 17 18@RunWith(WithTestDefaultsRunner.class) 19public class VibratorTest { 20 private Vibrator vibrator; 21 private ShadowVibrator shadowVibrator; 22 23 @Before 24 public void before() { 25 vibrator = (Vibrator) new Activity().getSystemService(Context.VIBRATOR_SERVICE); 26 shadowVibrator = shadowOf(vibrator); 27 } 28 29 @Test 30 public void vibrateMilliseconds() { 31 vibrator.vibrate(5000); 32 33 assertThat(shadowVibrator.isVibrating(), is(true)); 34 assertThat(shadowVibrator.getMilliseconds(), equalTo(5000L)); 35 } 36 37 @Test 38 public void vibratePattern() { 39 long[] pattern = new long[] { 0, 200 }; 40 vibrator.vibrate(pattern, 2); 41 42 assertThat(shadowVibrator.isVibrating(), is(true)); 43 assertThat(shadowVibrator.getPattern(), equalTo(pattern)); 44 assertThat(shadowVibrator.getRepeat(), equalTo(2)); 45 } 46 47 @Test 48 public void cancelled() { 49 vibrator.vibrate(5000); 50 assertThat(shadowVibrator.isVibrating(), is(true)); 51 assertThat(shadowVibrator.isCancelled(), is(false)); 52 vibrator.cancel(); 53 54 assertThat(shadowVibrator.isVibrating(), is(false)); 55 assertThat(shadowVibrator.isCancelled(), is(true)); 56 } 57}