package com.uwsoft.editor.data.manager; import com.runner.LibgdxRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; import static org.hamcrest.CoreMatchers.hasItem; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @RunWith(LibgdxRunner.class) public class PreferencesManagerTest { private PreferencesManager preferencesManager; @Before public void setUp() throws Exception { preferencesManager = new PreferencesManager(); preferencesManager.buildRecentHistory(); } @Test public void shouldGetEmptyHistory() throws Exception { List<String> recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(0)); } @Test public void shouldAbleToPushHistory() throws Exception { preferencesManager.pushHistory("testfile"); List<String> recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(1)); assertThat(recentHistory, hasItem("testfile")); } @Test public void shouldRemoveHistoryAfterPop() throws Exception { preferencesManager.pushHistory("testfile"); List<String> recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(1)); preferencesManager.popHistory("testfile"); recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(0)); } @Test public void shouldGetEmptyListAfterCleanHistory() throws Exception { preferencesManager.pushHistory("testfile1"); preferencesManager.pushHistory("testfile2"); preferencesManager.pushHistory("testfile3"); List<String> recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(3)); preferencesManager.clearHistory(); recentHistory = preferencesManager.getRecentHistory(); assertThat(recentHistory.size(), is(0)); } }