Home | History | Annotate | Download | only in shadows
      1 package com.xtremelabs.robolectric.shadows;
      2 
      3 import static com.xtremelabs.robolectric.Robolectric.shadowOf;
      4 import static org.hamcrest.CoreMatchers.equalTo;
      5 import static org.hamcrest.CoreMatchers.is;
      6 import static org.junit.Assert.assertThat;
      7 
      8 import org.junit.Before;
      9 import org.junit.Test;
     10 import org.junit.runner.RunWith;
     11 
     12 import android.app.Activity;
     13 import android.content.Context;
     14 import android.os.Vibrator;
     15 
     16 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
     17 
     18 @RunWith(WithTestDefaultsRunner.class)
     19 public 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 }