• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.xtremelabs.robolectric.shadows;
2 
3 import junit.framework.Assert;
4 
5 import org.junit.After;
6 import org.junit.Before;
7 import org.junit.Test;
8 import org.junit.runner.RunWith;
9 
10 import android.telephony.SmsManager;
11 
12 import com.xtremelabs.robolectric.Robolectric;
13 import com.xtremelabs.robolectric.WithTestDefaultsRunner;
14 
15 @RunWith(WithTestDefaultsRunner.class)
16 public class SmsManagerTest {
17 
18 	private SmsManager smsManager;
19 	private ShadowSmsManager shadowSmsManager;
20 
21 	private String testDestinationAddress = "destinationAddress";
22 	private String testScAddress = "testServiceCenterAddress";
23 	private String testText = "testSmsBodyText";
24 
25 	@Before
setup()26 	public void setup() {
27 		Robolectric.bindShadowClass(ShadowSmsManager.class);
28 		smsManager = SmsManager.getDefault();
29 		shadowSmsManager = Robolectric.shadowOf(smsManager);
30 	}
31 
32 	@After
tearDown()33 	public void tearDown() {
34 		smsManager = null;
35 		shadowSmsManager = null;
36 	}
37 
38 	@Test
shouldHaveShadowSmsManager()39 	public void shouldHaveShadowSmsManager() {
40 		Assert.assertNotNull(shadowSmsManager);
41 	}
42 
43 	@Test
shouldStoreLastSentTextMessageParameters()44 	public void shouldStoreLastSentTextMessageParameters() {
45 
46 		smsManager.sendTextMessage(testDestinationAddress, testScAddress, testText, null, null);
47 
48 		ShadowSmsManager.TextSmsParams lastParams = shadowSmsManager.getLastSentTextMessageParams();
49 
50 		Assert.assertEquals(testDestinationAddress, lastParams.getDestinationAddress());
51 		Assert.assertEquals(testScAddress, lastParams.getScAddress());
52 		Assert.assertEquals(testText, lastParams.getText());
53 	}
54 
55     @Test
shouldClearLastSentTestMessageParameters()56     public void shouldClearLastSentTestMessageParameters() {
57         smsManager.sendTextMessage(testDestinationAddress, testScAddress, testText, null, null);
58         shadowSmsManager.clearLastSentTextMessageParams();
59         Assert.assertNull(shadowSmsManager.getLastSentTextMessageParams());
60     }
61 
62 	@Test(expected=IllegalArgumentException.class)
sendTextMessage_shouldThrowExceptionWithEmptyDestination()63 	public void sendTextMessage_shouldThrowExceptionWithEmptyDestination() {
64 		smsManager.sendTextMessage("", testScAddress, testText, null, null);
65 	}
66 
67 	@Test(expected=IllegalArgumentException.class)
sentTextMessage_shouldThrowExceptionWithEmptyText()68 	public void sentTextMessage_shouldThrowExceptionWithEmptyText() {
69 		smsManager.sendTextMessage(testDestinationAddress, testScAddress, "", null, null);
70 	}
71 }
72