use of com.squareup.otto.Subscribe in project FluxyAndroidTodo by armueller.
the class TodosActivityStoreTest method setEditModeInactiveForTodoIdTest.
@Test(timeout = 100)
public void setEditModeInactiveForTodoIdTest() {
final AtomicBoolean testDone = new AtomicBoolean(false);
dataBus.register(new Object() {
@Subscribe
public void onListUpdated(TodoAction todoAction) {
assertThat(todoAction.getType()).isEqualTo(TodoAction.ActionTypes.EDIT);
assertThat(todoAction.getData().get(TodoAction.DataKeys.ID, -1)).isEqualTo(2);
assertThat(todoAction.getData().get(TodoAction.DataKeys.DESCRIPTION, "")).isEqualTo("Test");
testDone.set(true);
}
});
DataBundle<TodoAction.DataKeys> bundle = new DataBundle<>();
bundle.put(TodoAction.DataKeys.ID, 2);
bundle.put(TodoAction.DataKeys.DESCRIPTION, "Test");
dataBus.post(new TodoAction(TodoAction.ActionTypes.EDIT, bundle));
// Wait for test to finish or timeout
while (!testDone.get()) ;
}
use of com.squareup.otto.Subscribe in project FluxyAndroidTodo by armueller.
the class TodosActivityStoreTest method shouldShowUndoButtonTest.
@Test(timeout = 100)
public void shouldShowUndoButtonTest() {
final AtomicBoolean testDone = new AtomicBoolean(false);
dataBus.post(new TodoAction(TodoAction.ActionTypes.DELETE_ALL));
dataBus.register(new Object() {
@Subscribe
public void onListUpdated(Boolean shouldShowUndoButton) {
assertThat(shouldShowUndoButton).isTrue();
testDone.set(true);
}
});
// Wait for test to finish or timeout
while (!testDone.get()) ;
}
use of com.squareup.otto.Subscribe in project FluxyAndroidTodo by armueller.
the class TodosActivityStoreTest method changeActiveFilterToCompleteTest.
@Test(timeout = 100)
public void changeActiveFilterToCompleteTest() {
final AtomicBoolean testDone = new AtomicBoolean(false);
ArrayList<TodoItem> list = new ArrayList<TodoItem>();
list.add(new TodoItem(1, "Test", false));
list.add(new TodoItem(2, "Test", true));
list.add(new TodoItem(3, "Test", false));
RawTodoList rawTodoList = new RawTodoList(list);
dataBus.post(rawTodoList);
dataBus.register(new Object() {
@Subscribe
public void onListUpdated(FilteredTodoList filteredTodoList) {
assertThat(filteredTodoList.list.size()).isEqualTo(1);
assertThat(filteredTodoList.filter).isEqualTo(FilteredTodoList.Filter.COMPLETE);
testDone.set(true);
}
});
dataBus.post(new ViewAction(ViewAction.ActionTypes.VIEW_COMPLETE));
// Wait for test to finish or timeout
while (!testDone.get()) ;
}
use of com.squareup.otto.Subscribe in project FluxyAndroidTodo by armueller.
the class TodosActivityStoreTest method changeActiveFilterToActiveTest.
@Test(timeout = 100)
public void changeActiveFilterToActiveTest() {
final AtomicBoolean testDone = new AtomicBoolean(false);
ArrayList<TodoItem> list = new ArrayList<TodoItem>();
list.add(new TodoItem(1, "Test", false));
list.add(new TodoItem(2, "Test", true));
list.add(new TodoItem(3, "Test", false));
RawTodoList rawTodoList = new RawTodoList(list);
dataBus.post(rawTodoList);
dataBus.register(new Object() {
@Subscribe
public void onListUpdated(FilteredTodoList filteredTodoList) {
assertThat(filteredTodoList.list.size()).isEqualTo(2);
assertThat(filteredTodoList.filter).isEqualTo(FilteredTodoList.Filter.ACTIVE);
testDone.set(true);
}
});
dataBus.post(new ViewAction(ViewAction.ActionTypes.VIEW_ACTIVE));
// Wait for test to finish or timeout
while (!testDone.get()) ;
}
use of com.squareup.otto.Subscribe in project FluxyAndroidTodo by armueller.
the class TodosActivityStore method reactToViewAction.
@Subscribe
public final void reactToViewAction(ViewAction action) {
DataBundle<ViewAction.DataKeys> data = action.getData();
long id = (long) data.get(ViewAction.DataKeys.ID, -1);
switch(action.getType()) {
case VIEW_ALL:
activeFilter = FilteredTodoList.Filter.ACTIVE;
dataBus.post(new FilteredTodoList(activeFilter, rawTodoList));
break;
case VIEW_ACTIVE:
activeFilter = FilteredTodoList.Filter.COMPLETE;
dataBus.post(new FilteredTodoList(activeFilter, rawTodoList));
break;
case VIEW_COMPLETE:
activeFilter = FilteredTodoList.Filter.ALL;
dataBus.post(new FilteredTodoList(activeFilter, rawTodoList));
break;
case MARK_EDITABLE:
editModeActiveForTodoId = new Long(id);
dataBus.post(editModeActiveForTodoId);
break;
}
}
Aggregations