1331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogpackage com.xtremelabs.robolectric.shadows; 2331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 3331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 4331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport static org.hamcrest.CoreMatchers.equalTo; 5331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport static org.hamcrest.CoreMatchers.is; 6331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport static org.junit.Assert.assertThat; 7331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 8331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport org.junit.Before; 9331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport org.junit.Test; 10331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport org.junit.runner.RunWith; 11331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 12331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport android.app.Activity; 13331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport android.content.Context; 14331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport android.os.Vibrator; 15331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 16331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 17331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 18331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog@RunWith(WithTestDefaultsRunner.class) 19331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdogpublic class VibratorTest { 20331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private Vibrator vibrator; 21331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog private ShadowVibrator shadowVibrator; 22331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 23331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Before 24331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void before() { 25331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog vibrator = (Vibrator) new Activity().getSystemService(Context.VIBRATOR_SERVICE); 26331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog shadowVibrator = shadowOf(vibrator); 27331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 28331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 29331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Test 30331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void vibrateMilliseconds() { 31331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog vibrator.vibrate(5000); 32331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 33aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog assertThat(shadowVibrator.isVibrating(), is(true)); 34331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog assertThat(shadowVibrator.getMilliseconds(), equalTo(5000L)); 35331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 36331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 37331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Test 38331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void vibratePattern() { 39331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog long[] pattern = new long[] { 0, 200 }; 40331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog vibrator.vibrate(pattern, 2); 41331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 42aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog assertThat(shadowVibrator.isVibrating(), is(true)); 43331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog assertThat(shadowVibrator.getPattern(), equalTo(pattern)); 44331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog assertThat(shadowVibrator.getRepeat(), equalTo(2)); 45331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 46331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog 47331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog @Test 48331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog public void cancelled() { 49aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog vibrator.vibrate(5000); 50aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog assertThat(shadowVibrator.isVibrating(), is(true)); 51331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog assertThat(shadowVibrator.isCancelled(), is(false)); 52331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog vibrator.cancel(); 53aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog 54aa1062defbe38956a7ff51abf077ab93b0911f0aLogdog assertThat(shadowVibrator.isVibrating(), is(false)); 55331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog assertThat(shadowVibrator.isCancelled(), is(true)); 56331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog } 57331338e02ace00dde6d82f9ee8ad6be0c5f5e6b5Logdog}