package com.zegoggles.smssync.preferences; import com.zegoggles.smssync.mail.DataType; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import static org.fest.assertions.api.Assertions.assertThat; @RunWith(RobolectricTestRunner.class) public class PreferencesTest { Preferences preferences; @Before public void before() { preferences = new Preferences(Robolectric.application); } @Test public void shouldTestForFirstUse() throws Exception { assertThat(preferences.isFirstUse()).isTrue(); assertThat(preferences.isFirstUse()).isFalse(); } @Test public void shouldTestForFirstBackup() throws Exception { assertThat(preferences.isFirstBackup()).isTrue(); } @Test public void shouldTestForFirstBackupSMS() throws Exception { DataType.SMS.setMaxSyncedDate(Robolectric.application, 1234); assertThat(preferences.isFirstBackup()).isFalse(); } @Test public void shouldTestForFirstBackupMMS() throws Exception { DataType.MMS.setMaxSyncedDate(Robolectric.application, 1234); assertThat(preferences.isFirstBackup()).isFalse(); } @Test public void shouldTestForFirstBackupCallLog() throws Exception { DataType.CALLLOG.setMaxSyncedDate(Robolectric.application, 1234); assertThat(preferences.isFirstBackup()).isFalse(); } @Test public void shouldGetVersion() throws Exception { assertThat(preferences.getVersion(false)).matches("\\d+\\.\\d+\\.\\d+(-\\w+)?"); } @Test public void shouldGetVersionWithCode() throws Exception { assertThat(preferences.getVersion(true)).matches("\\d+"); } @Test public void shouldTestOnSDCARD() throws Exception { assertThat(preferences.isInstalledOnSDCard()).isFalse(); } }