package org.iilab.pb.trigger;
import android.content.Intent;
import android.content.IntentFilter;
import org.iilab.pb.trigger.HardwareTriggerReceiver;
import org.iilab.pb.trigger.HardwareTriggerService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.robolectric.Robolectric.shadowOf;
@RunWith(RobolectricTestRunner.class)
public class HardwareTriggerServiceTest {
@Test
public void shouldRegisterHardwareTriggerListener() {
HardwareTriggerService hardwareTriggerService = new HardwareTriggerService();
hardwareTriggerService.onCreate();
hardwareTriggerService.onBind(null);
ShadowApplication shadowApplication = shadowOf(Robolectric.application);
List<ShadowApplication.Wrapper> registeredReceivers = shadowApplication.getRegisteredReceivers();
ShadowApplication.Wrapper hardwareReceiverWrapper = null;
for (ShadowApplication.Wrapper registeredReceiver : registeredReceivers) {
if (registeredReceiver.getBroadcastReceiver().getClass().equals(HardwareTriggerReceiver.class)) {
hardwareReceiverWrapper = registeredReceiver;
}
}
assertNotNull(hardwareReceiverWrapper);
IntentFilter intentFilter = hardwareReceiverWrapper.getIntentFilter();
assertEquals(Intent.ACTION_SCREEN_ON, intentFilter.getAction(0));
assertEquals(Intent.ACTION_SCREEN_OFF, intentFilter.getAction(1));
}
}