PersistedSessionManager implements SessionManager<T> { @Override public T getActiveSession() { restoreAllSessionsIfNecessary(); return activeSessionRef.get(); } PersistedSessionManager(PreferenceStore preferenceStore,
            SerializationStrategy<T> serializer, String prefKeyActiveSession,
            String prefKeySession);   PersistedSessionManager(PreferenceStore preferenceStore,
            SerializationStrategy<T> serializer, ConcurrentHashMap<Long, T> sessionMap,
            ConcurrentHashMap<Long, PreferenceStoreStrategy<T>> storageMap,
            PreferenceStoreStrategy<T> activesSessionStorage,
            String prefKeySession); @Override T getActiveSession(); @Override void setActiveSession(T session); @Override void clearActiveSession(); @Override T getSession(long id); @Override void setSession(long id, T session); @Override Map<Long, T> getSessionMap(); @Override void clearSession(long id);  }
@Test public void testGetActiveSession_restoredSession() { final TwitterSession mockRestoredSession = mock(TwitterSession.class); when(mockActiveSessionStorage.restore()).thenReturn(mockRestoredSession); final TwitterSession activeSession = sessionManager.getActiveSession(); assertEquals(mockRestoredSession, activeSession); verify(mockActiveSessionStorage).restore(); }
@Test public void testGetActiveSession_nullSession() { assertNull(sessionManager.getActiveSession()); }
@Test public void testGetActiveSession_validSession() { final TwitterSession session = setupActiveSessionTest(); assertEquals(session, sessionManager.getActiveSession()); }