### Question:
OPFPushHelper { @Nullable public abstract String getProviderName();  abstract void register(); abstract void unregister(); @Nullable abstract String getRegistrationId(); @Nullable abstract String getProviderName(); @Nullable abstract PushProvider getCurrentProvider(); @NonNull abstract ReceivedMessageHandler getReceivedMessageHandler(); abstract boolean isRegistered(); abstract void onNeedRetryRegistration(); abstract boolean isRegistering();  }### Answer:
@TargetApi(Build.VERSION_CODES.KITKAT) @Test public void testGetProviderName() { final String expected = "Courier"; final PushProvider provider = new MockPushProvider.Builder() .setName(expected) .setAvailabilityResult(new AvailabilityResult(true)) .build(); final TestEventListener eventListener = new TestEventListener(); final Configuration configuration = new Configuration.Builder() .addProviders(provider) .setEventListener(eventListener) .build(); try { initOPFPush(configuration); } catch (IllegalAccessException | InstantiationException | NoSuchFieldException | InvocationTargetException | NoSuchMethodException | ClassNotFoundException e) { Log.e(TAG, e.getMessage()); } OPFPush.getHelper().register(); assertTrue(eventListener.isRegistered()); assertEquals(expected, OPFPush.getHelper().getProviderName()); OPFPush.getHelper().unregister(); assertFalse(eventListener.isRegistered()); OPFPush.getHelper().register(); assertTrue(eventListener.isRegistered()); assertEquals(expected, OPFPush.getHelper().getProviderName()); }