diff --git a/todolist/core/src/main/java/todolist/core/TodoItem.java b/todolist/core/src/main/java/todolist/core/TodoItem.java index 8b025372363f17e3b152d838dd82d72a0bcd3743..c2c9c8a72da2487cc7a643243f188c3e0a5806de 100644 --- a/todolist/core/src/main/java/todolist/core/TodoItem.java +++ b/todolist/core/src/main/java/todolist/core/TodoItem.java @@ -31,7 +31,7 @@ public class TodoItem { * * @param other the other TodoItem, from which properties are copied */ - public void set(TodoItem other) { + public void setAs(TodoItem other) { this.checked = other.checked; this.text = other.text; } @@ -49,7 +49,7 @@ public class TodoItem { } public TodoItem as(TodoItem other) { - set(other); + setAs(other); return this; } diff --git a/todolist/core/src/main/java/todolist/core/TodoListItem.java b/todolist/core/src/main/java/todolist/core/TodoListItem.java index ca83b07e485344da761443713e54e69fd0fe05a1..cbae4f130be47bbba0ae6af26251e57474265888 100644 --- a/todolist/core/src/main/java/todolist/core/TodoListItem.java +++ b/todolist/core/src/main/java/todolist/core/TodoListItem.java @@ -31,10 +31,10 @@ public class TodoListItem extends TodoItem { } @Override - public void set(TodoItem other) { + public void setAs(TodoItem other) { boolean oldChecked = isChecked(); String oldText = getText(); - super.set(other); + super.setAs(other); if (oldChecked != other.isChecked() || oldText != other.getText() || oldText != null && !(oldText.equals(other.getText()))) { todoList.fireTodoListChanged(this); diff --git a/todolist/core/src/test/java/todolist/core/TodoListTest.java b/todolist/core/src/test/java/todolist/core/TodoListTest.java index e13f819be0261a38bf963198b5a1c813b5db0057..2355cdc338683232185b7699765fd3efe8378a53 100644 --- a/todolist/core/src/test/java/todolist/core/TodoListTest.java +++ b/todolist/core/src/test/java/todolist/core/TodoListTest.java @@ -180,9 +180,9 @@ public class TodoListTest { assertEquals(3, receivedNotificationCount); item.setChecked(true); assertEquals(4, receivedNotificationCount); - item.set(new TodoItem().checked(true).text("enda en endret verdi")); + item.setAs(new TodoItem().checked(true).text("enda en endret verdi")); assertEquals(5, receivedNotificationCount); - item.set(new TodoItem().checked(true).text("enda en endret verdi")); + item.setAs(new TodoItem().checked(true).text("enda en endret verdi")); assertEquals(5, receivedNotificationCount); // test removeTodoListListener, too newList.removeTodoListListener(listener); diff --git a/todolist/fxui/src/main/java/todolist/ui/TodoItemListCell.java b/todolist/fxui/src/main/java/todolist/ui/TodoItemListCell.java index 1e872dca847172ea37cd91877ccc38e9633654a5..3223e8a14cbebd218aa099107457d1743d5432a0 100644 --- a/todolist/fxui/src/main/java/todolist/ui/TodoItemListCell.java +++ b/todolist/fxui/src/main/java/todolist/ui/TodoItemListCell.java @@ -33,7 +33,7 @@ public class TodoItemListCell extends ListCell<TodoItem> { todoItemControl = new HBox(); checkedView = new CheckBox(); checkedView.selectedProperty().addListener((prop, oldValue, newValue) -> { - getItem().set(new TodoItem() + getItem().setAs(new TodoItem() .checked(checkedView.isSelected()) // use editor text if it's active, otherwise existing text .text(isEditing() ? textEditor.getText() : getItem().getText()) diff --git a/todolist/fxui/src/test/java/todolist/ui/TodoAppTest.java b/todolist/fxui/src/test/java/todolist/ui/TodoAppTest.java index 8be49c41a1802e8d31b5838377954952f019ff6f..04ad5dfe509c8aa63e06636e9a41dc2bb80893d8 100644 --- a/todolist/fxui/src/test/java/todolist/ui/TodoAppTest.java +++ b/todolist/fxui/src/test/java/todolist/ui/TodoAppTest.java @@ -7,8 +7,6 @@ import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.ListView; import javafx.stage.Stage; -import todolist.core.TodoItem; -import todolist.core.TodoList; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -16,6 +14,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.testfx.framework.junit5.ApplicationTest; +import todolist.core.TodoItem; +import todolist.core.TodoList; public class TodoAppTest extends ApplicationTest { @@ -66,7 +66,21 @@ public class TodoAppTest extends ApplicationTest { // item is last of the unchecked items in list view checkTodoListViewItems(item2, newItem, item1); } - + + @Test + public void testDeleteTodoItem() { + // final ListView<TodoItem> todoListView = lookup("#todoListView").query(); + // todoListView.getSelectionModel().select(1); + TodoItemListCell todoItemListCell = findTodoItemListCell(1); + clickOn(todoItemListCell.lookup(".label")); + + clickOn("#deleteTodoItemButton"); + // item2 is removed, only item1 is left + checkTodoListItems(item1); + // item2 is removed, only item1 is left + checkTodoListViewItems(item1); + } + @Test public void testCheckTodoItem() { TodoItemListCell todoItemListCell = findTodoItemListCell(cell -> ! cell.getItem().isChecked()); @@ -78,7 +92,7 @@ public class TodoAppTest extends ApplicationTest { checkTodoListViewItems(item1, newItem2); } - @Test + @Test public void testDragTodoItem() { TodoItemListCell sourceTodoItemListCell = findTodoItemListCell(0); TodoItemListCell targetTodoItemListCell = findTodoItemListCell(1);