### Question:
Settings { @NonNull public synchronized State getState() { OPFLog.logMethod(); final int stateValue = preferences.getInt(KEY_STATE, UNREGISTERED.getValue()); State state = State.fromValue(stateValue); OPFLog.d("State : " + state); if (state == null) { state = UNREGISTERED; saveState(state); } return state; } private  Settings(@NonNull final Context context); @SuppressWarnings("PMD.NonThreadSafeSingleton") static Settings getInstance(@NonNull final Context context); @NonNull synchronized State getState(); synchronized void saveState(@NonNull final State state); synchronized void clear(); @Nullable synchronized String getLastProviderName(); synchronized void saveLastProvider(@Nullable final PushProvider provider); @Nullable synchronized String getLastAndroidId(); synchronized void saveLastAndroidId(@Nullable final String androidId); synchronized void saveUnregisteringProvider(@NonNull final String providerName); synchronized void removeUnregisteringProvider(@NonNull final String providerName); synchronized boolean isProviderUnregistrationPerforming(@NonNull final String providerName); synchronized void saveRegisteringProvider(@NonNull final String providerName); synchronized void removeRegisteringProvider(@NonNull final String providerName); synchronized boolean isProviderRegistrationPerforming(@NonNull final String providerName); synchronized void savePendingRegistrationProvider(@NonNull final String providerName); synchronized void removePendingRegistrationProvider(); @Nullable synchronized String getPendingRegistrationProvider(); synchronized void savePendingUnregistrationProvider(@NonNull final String providerName); synchronized void removePendingUnregistrationProvider(); @Nullable synchronized String getPendingUnregistrationProvider();  }### Answer:
@Test public void getState_commonSituation() { assertEquals(State.UNREGISTERED, settings.getState()); for (State state : State.values()) { sharedPreferences.edit().putInt(KEY_STATE, state.getValue()).apply(); assertEquals(state, settings.getState()); } }
@Test public void getState_nullIsTreatedAsUnregistered() { sharedPreferences.edit().putInt(KEY_STATE, -1).apply(); assertEquals(State.UNREGISTERED, settings.getState()); }