package com.yotadevices.sdk; import java.io.FileDescriptor; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.robolectric.Robolectric; import android.app.Service; import android.content.ComponentName; import android.content.Intent; import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.IInterface; import android.os.Message; import android.os.Messenger; import android.os.Parcel; import android.os.RemoteException; import android.os.IBinder.DeathRecipient; import static org.robolectric.Robolectric.clickOn; import static org.robolectric.Robolectric.shadowOf; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.PowerMockUtils; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import com.yotadevices.sdk.Constants; @RunWith(org.robolectric.RobolectricTestRunner.class) public class BSRecordTest { TestBSActivity bsActivity; private static class TestBSActivity extends BSActivity { public TestBSActivity() { } @Override void sendRequestToBeActive() { // do nothing. } public Handler getIncomingHandler() { return mIncomingHandler; } } @Before public void setUp() { Robolectric.getShadowApplication().setComponentNameAndServiceForBindService( new ComponentName("com.yotadevices.framework", "com.yotadevices.framework.service.PlatinumManagerService"), null); bsActivity = new TestBSActivity(); bsActivity.onCreate(); } // @Test // public void testThatAppTrackerInfoServiceIsKickedOff() { // // // applicationContext.startService((new Intent(applicationContext, AppInfoTracker.class))); // // // // ShadowApplication shadowApplication = (ShadowApplication) Robolectric.shadowOf(testApplication); // // // // String serviceName = shadowApplication.peekNextStartedService().getComponent().getClassName(); // // Assert.assertEquals("com.appy.services.AppInfoTracker", serviceName); // } @Test public void testSaveEmptyState() { //bsActivity.getIncomingHandler().handleMessage(null); } @Test public void testMock() { BSActivity a = Mockito.mock(BSActivity.class); //Mockito.when(a.performBSResume(a)); BSAcivityIncomingMessagesHandler h = new BSAcivityIncomingMessagesHandler(a); Message m = Message.obtain(null, Constants.MESSAGE_ACTIVATED, 0, 0); h.handleMessage(m); Mockito.verify(a, Mockito.times(1)).performBSResume(); } }