mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-10 02:58:51 -06:00
Allow user to sort by status (#660)
This commit is contained in:
@@ -68,11 +68,11 @@ public class HabitsCSVExporterTest extends BaseUnitTest
|
||||
unzip(archive);
|
||||
|
||||
assertPathExists("Habits.csv");
|
||||
assertPathExists("001 Wake up early");
|
||||
assertPathExists("001 Wake up early/Checkmarks.csv");
|
||||
assertPathExists("001 Wake up early/Scores.csv");
|
||||
assertPathExists("002 Meditate/Checkmarks.csv");
|
||||
assertPathExists("002 Meditate/Scores.csv");
|
||||
assertPathExists("001 Meditate/Checkmarks.csv");
|
||||
assertPathExists("001 Meditate/Scores.csv");
|
||||
assertPathExists("002 Wake up early");
|
||||
assertPathExists("002 Wake up early/Checkmarks.csv");
|
||||
assertPathExists("002 Wake up early/Scores.csv");
|
||||
assertPathExists("Checkmarks.csv");
|
||||
assertPathExists("Scores.csv");
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class ImportTest extends BaseUnitTest
|
||||
|
||||
assertThat(habitList.size(), equalTo(3));
|
||||
|
||||
Habit habit = habitList.getByPosition(0);
|
||||
Habit habit = habitList.getByPosition(1);
|
||||
assertThat(habit.getName(), equalTo("Wake up early"));
|
||||
assertThat(habit.getFrequency(), equalTo(THREE_TIMES_PER_WEEK));
|
||||
assertFalse(habit.hasReminder());
|
||||
@@ -90,7 +90,7 @@ public class ImportTest extends BaseUnitTest
|
||||
assertTrue(containsRepetition(habit, 2016, 1, 28));
|
||||
assertFalse(containsRepetition(habit, 2016, 3, 10));
|
||||
|
||||
habit = habitList.getByPosition(1);
|
||||
habit = habitList.getByPosition(2);
|
||||
assertThat(habit.getName(), equalTo("brush teeth"));
|
||||
assertThat(habit.getFrequency(), equalTo(THREE_TIMES_PER_WEEK));
|
||||
assertThat(habit.hasReminder(), equalTo(true));
|
||||
@@ -109,7 +109,7 @@ public class ImportTest extends BaseUnitTest
|
||||
|
||||
assertThat(habitList.size(), equalTo(3));
|
||||
|
||||
Habit h = habitList.getByPosition(0);
|
||||
Habit h = habitList.getByPosition(2);
|
||||
assertThat(h.getName(), equalTo("Vegan"));
|
||||
assertTrue(containsRepetition(h, 2016, 1, 24));
|
||||
assertTrue(containsRepetition(h, 2016, 2, 5));
|
||||
|
||||
@@ -111,7 +111,6 @@ public class HabitListTest extends BaseUnitTest
|
||||
@Test
|
||||
public void testOrdering()
|
||||
{
|
||||
HabitList list = modelFactory.buildHabitList();
|
||||
Habit h1 = fixtures.createEmptyHabit();
|
||||
h1.setName("A Habit");
|
||||
h1.setColor(2);
|
||||
@@ -132,46 +131,51 @@ public class HabitListTest extends BaseUnitTest
|
||||
h4.setColor(1);
|
||||
h4.setPosition(2);
|
||||
|
||||
HabitList list = modelFactory.buildHabitList();
|
||||
|
||||
list.add(h3);
|
||||
list.add(h1);
|
||||
list.add(h4);
|
||||
list.add(h2);
|
||||
|
||||
list.setOrder(BY_POSITION);
|
||||
list.setPrimaryOrder(BY_POSITION);
|
||||
assertThat(list.getByPosition(0), equalTo(h3));
|
||||
assertThat(list.getByPosition(1), equalTo(h1));
|
||||
assertThat(list.getByPosition(2), equalTo(h4));
|
||||
assertThat(list.getByPosition(3), equalTo(h2));
|
||||
|
||||
list.setOrder(BY_NAME_DESC);
|
||||
list.setPrimaryOrder(BY_NAME_DESC);
|
||||
assertThat(list.getByPosition(0), equalTo(h4));
|
||||
assertThat(list.getByPosition(1), equalTo(h3));
|
||||
assertThat(list.getByPosition(2), equalTo(h2));
|
||||
assertThat(list.getByPosition(3), equalTo(h1));
|
||||
|
||||
list.setOrder(BY_NAME_ASC);
|
||||
list.setPrimaryOrder(BY_NAME_ASC);
|
||||
assertThat(list.getByPosition(0), equalTo(h1));
|
||||
assertThat(list.getByPosition(1), equalTo(h2));
|
||||
assertThat(list.getByPosition(2), equalTo(h3));
|
||||
assertThat(list.getByPosition(3), equalTo(h4));
|
||||
|
||||
list.setPrimaryOrder(BY_NAME_ASC);
|
||||
list.remove(h1);
|
||||
list.add(h1);
|
||||
assertThat(list.getByPosition(0), equalTo(h1));
|
||||
|
||||
list.setOrder(BY_COLOR_ASC);
|
||||
list.setPrimaryOrder(BY_COLOR_ASC);
|
||||
list.setSecondaryOrder(BY_NAME_ASC);
|
||||
assertThat(list.getByPosition(0), equalTo(h3));
|
||||
assertThat(list.getByPosition(1), equalTo(h4));
|
||||
assertThat(list.getByPosition(2), equalTo(h1));
|
||||
assertThat(list.getByPosition(3), equalTo(h2));
|
||||
|
||||
list.setOrder(BY_COLOR_DESC);
|
||||
assertThat(list.getByPosition(0), equalTo(h2));
|
||||
assertThat(list.getByPosition(1), equalTo(h1));
|
||||
list.setPrimaryOrder(BY_COLOR_DESC);
|
||||
list.setSecondaryOrder(BY_NAME_ASC);
|
||||
assertThat(list.getByPosition(0), equalTo(h1));
|
||||
assertThat(list.getByPosition(1), equalTo(h2));
|
||||
assertThat(list.getByPosition(2), equalTo(h4));
|
||||
assertThat(list.getByPosition(3), equalTo(h3));
|
||||
|
||||
list.setOrder(BY_POSITION);
|
||||
list.setPrimaryOrder(BY_POSITION);
|
||||
assertThat(list.getByPosition(0), equalTo(h3));
|
||||
assertThat(list.getByPosition(1), equalTo(h1));
|
||||
assertThat(list.getByPosition(2), equalTo(h4));
|
||||
@@ -179,8 +183,7 @@ public class HabitListTest extends BaseUnitTest
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReorder()
|
||||
{
|
||||
public void testReorder() {
|
||||
int operations[][] = {
|
||||
{ 5, 2 }, { 3, 7 }, { 4, 4 }, { 8, 3 }
|
||||
};
|
||||
@@ -225,12 +228,12 @@ public class HabitListTest extends BaseUnitTest
|
||||
@Test
|
||||
public void testOrder_inherit()
|
||||
{
|
||||
habitList.setOrder(BY_COLOR_ASC);
|
||||
habitList.setPrimaryOrder(BY_COLOR_ASC);
|
||||
HabitList filteredList = habitList.getFiltered(new HabitMatcherBuilder()
|
||||
.setArchivedAllowed(false)
|
||||
.setCompletedAllowed(false)
|
||||
.build());
|
||||
assertEquals(filteredList.getOrder(), BY_COLOR_ASC);
|
||||
assertEquals(filteredList.getPrimaryOrder(), BY_COLOR_ASC);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -306,7 +309,7 @@ public class HabitListTest extends BaseUnitTest
|
||||
@Test
|
||||
public void testReorder_onSortedList() throws Exception
|
||||
{
|
||||
habitList.setOrder(BY_SCORE_DESC);
|
||||
habitList.setPrimaryOrder(BY_SCORE_DESC);
|
||||
Habit h1 = habitsArray.get(1);
|
||||
Habit h2 = habitsArray.get(2);
|
||||
thrown.expect(IllegalStateException.class);
|
||||
|
||||
@@ -75,13 +75,13 @@ public class PreferencesTest extends BaseUnitTest
|
||||
@Test
|
||||
public void testDefaultOrder() throws Exception
|
||||
{
|
||||
assertThat(prefs.getDefaultOrder(), equalTo(HabitList.Order.BY_POSITION));
|
||||
assertThat(prefs.getDefaultPrimaryOrder(), equalTo(HabitList.Order.BY_POSITION));
|
||||
|
||||
prefs.setDefaultOrder(HabitList.Order.BY_SCORE_DESC);
|
||||
assertThat(prefs.getDefaultOrder(), equalTo(HabitList.Order.BY_SCORE_DESC));
|
||||
prefs.setDefaultPrimaryOrder(HabitList.Order.BY_SCORE_DESC);
|
||||
assertThat(prefs.getDefaultPrimaryOrder(), equalTo(HabitList.Order.BY_SCORE_DESC));
|
||||
|
||||
storage.putString("pref_default_order", "BOGUS");
|
||||
assertThat(prefs.getDefaultOrder(), equalTo(HabitList.Order.BY_POSITION));
|
||||
assertThat(prefs.getDefaultPrimaryOrder(), equalTo(HabitList.Order.BY_POSITION));
|
||||
assertThat(storage.getString("pref_default_order", ""), equalTo("BY_POSITION"));
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,9 @@ public class ListHabitsMenuBehaviorTest extends BaseUnitTest
|
||||
@Captor
|
||||
private ArgumentCaptor<HabitList.Order> orderCaptor;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<HabitList.Order> secondaryOrderCaptor;
|
||||
|
||||
@Override
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
@@ -103,7 +106,7 @@ public class ListHabitsMenuBehaviorTest extends BaseUnitTest
|
||||
public void testOnSortByColor()
|
||||
{
|
||||
behavior.onSortByColor();
|
||||
verify(adapter).setOrder(orderCaptor.capture());
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_COLOR_ASC));
|
||||
}
|
||||
|
||||
@@ -111,7 +114,7 @@ public class ListHabitsMenuBehaviorTest extends BaseUnitTest
|
||||
public void testOnSortManually()
|
||||
{
|
||||
behavior.onSortByManually();
|
||||
verify(adapter).setOrder(orderCaptor.capture());
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_POSITION));
|
||||
}
|
||||
|
||||
@@ -119,7 +122,7 @@ public class ListHabitsMenuBehaviorTest extends BaseUnitTest
|
||||
public void testOnSortScore()
|
||||
{
|
||||
behavior.onSortByScore();
|
||||
verify(adapter).setOrder(orderCaptor.capture());
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_SCORE_DESC));
|
||||
}
|
||||
|
||||
@@ -127,10 +130,34 @@ public class ListHabitsMenuBehaviorTest extends BaseUnitTest
|
||||
public void testOnSortName()
|
||||
{
|
||||
behavior.onSortByName();
|
||||
verify(adapter).setOrder(orderCaptor.capture());
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_NAME_ASC));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnSortStatus()
|
||||
{
|
||||
when(adapter.getPrimaryOrder()).thenReturn(BY_NAME_ASC);
|
||||
|
||||
behavior.onSortByStatus();
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
verify(adapter).setSecondaryOrder(secondaryOrderCaptor.capture());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_STATUS_ASC));
|
||||
assertThat(secondaryOrderCaptor.getValue(), equalTo(BY_NAME_ASC));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnSortStatusToggle()
|
||||
{
|
||||
when(adapter.getPrimaryOrder()).thenReturn(BY_STATUS_ASC);
|
||||
|
||||
behavior.onSortByStatus();
|
||||
|
||||
verify(adapter).setPrimaryOrder(orderCaptor.capture());
|
||||
verify(adapter, never()).setSecondaryOrder(any());
|
||||
assertThat(orderCaptor.getValue(), equalTo(BY_STATUS_DESC));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnToggleShowArchived()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user