From 58d238c2bd15e5d37f366cc362b381263d2895f7 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 10:46:37 +0200 Subject: [PATCH 1/6] Add checkStatusTest --- src/test/java/com/booleanuk/core/TodoItemTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index 095af82..f002937 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -5,4 +5,11 @@ class TodoItemTest { + @Test + public void checkSetStatus() { + TodoItem todo = new TodoItem("Todo", "JUnit testing", "pending"); + Assertions.assertEquals("pending", todo.getStatus()); + todo.setStatus("complete"); + Assertions.assertEquals("complete", todo.getStatus()); + } } From 2b2725247bbc6d57cfdfe379386c06d24f323af9 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 10:56:49 +0200 Subject: [PATCH 2/6] Update checkStatusTest --- src/test/java/com/booleanuk/core/TodoItemTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index f002937..b268692 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -8,8 +8,8 @@ class TodoItemTest { @Test public void checkSetStatus() { TodoItem todo = new TodoItem("Todo", "JUnit testing", "pending"); - Assertions.assertEquals("pending", todo.getStatus()); - todo.setStatus("complete"); + todo.markAsComplete(); + Assertions.assertEquals("complete", todo.getStatus()); } } From 7ceebb7c1aa48a172850b11b40bc8784fa721fe2 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 10:59:06 +0200 Subject: [PATCH 3/6] Update checkStatusTest --- src/test/java/com/booleanuk/core/TodoItemTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index b268692..65b0b28 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -7,9 +7,12 @@ class TodoItemTest { @Test public void checkSetStatus() { - TodoItem todo = new TodoItem("Todo", "JUnit testing", "pending"); - todo.markAsComplete(); + TodoItem todo = new TodoItem("Todo", "JUnit testing"); + todo.markAsComplete(); Assertions.assertEquals("complete", todo.getStatus()); + + todo.markAsIncomplete(); + Assertions.assertEquals("incomplete", todo.getStatus()); } } From 3f0fbca842210c106a950e61112da099cd43b279 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 11:01:52 +0200 Subject: [PATCH 4/6] Add functions for marking task as complete or incomplete --- .../java/com/booleanuk/core/TodoItem.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/booleanuk/core/TodoItem.java b/src/main/java/com/booleanuk/core/TodoItem.java index 655d825..3c0a15e 100644 --- a/src/main/java/com/booleanuk/core/TodoItem.java +++ b/src/main/java/com/booleanuk/core/TodoItem.java @@ -1,21 +1,29 @@ package com.booleanuk.core; public class TodoItem { - public String title; - public String detail; - public String status; + private String title; + private String detail; + private String status; - public TodoItem(String title, String detail, String status) { + public TodoItem(String title, String detail) { this.title = title; this.detail = detail; - this.status = status; + this.status = "incomplete"; } - public void setStatus(String status) { + private void setStatus(String status) { this.status = status; } public String getStatus() { return this.status; } + + public void markAsComplete() { + this.setStatus("complete"); + } + + public void markAsIncomplete() { + this.setStatus("incomplete"); + } } From 16fef44090a0761da0a7fc67522a865adbdcfe37 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 11:27:09 +0200 Subject: [PATCH 5/6] Add domain model --- src/main/java/com/booleanuk/core/domain-model.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/com/booleanuk/core/domain-model.md diff --git a/src/main/java/com/booleanuk/core/domain-model.md b/src/main/java/com/booleanuk/core/domain-model.md new file mode 100644 index 0000000..95d2b97 --- /dev/null +++ b/src/main/java/com/booleanuk/core/domain-model.md @@ -0,0 +1,11 @@ +| Classes | Variables | Methods | Scenario | Output | +|------------------------------------------|------------|----------------------------------|---------------------------------------|----------------------| +| `Account(String email, String password)` | `email` | `- setEmail(String email)` | Valid email. | true | +| | | | Invalid email. | false, error message | +| | `password` | `- setPassword(String password)` | Valid password. | true | +| | | | Invalid password. | false, error message | +| | `status` | `- setStatus(boolean status)` | Change status to enabled or disabled. | - | +| | | `+ enable()` | Set status to enabled. | - | +| | | `+ disable()` | Set status to enabled. | - | +| | | `+ login()` | Account is enabled. | true | +| | | | Account is enabled. | false | From 4328c23bab183952e77458a7a9e609ac2ad1a1c9 Mon Sep 17 00:00:00 2001 From: shyye Date: Mon, 19 Aug 2024 11:51:26 +0200 Subject: [PATCH 6/6] Temporary test --- src/main/java/com/booleanuk/core/Account.java | 34 +++++++++++++++++++ .../java/com/booleanuk/core/AccountTest.java | 15 ++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/main/java/com/booleanuk/core/Account.java create mode 100644 src/test/java/com/booleanuk/core/AccountTest.java diff --git a/src/main/java/com/booleanuk/core/Account.java b/src/main/java/com/booleanuk/core/Account.java new file mode 100644 index 0000000..8192fea --- /dev/null +++ b/src/main/java/com/booleanuk/core/Account.java @@ -0,0 +1,34 @@ +package com.booleanuk.core; + +public class Account { + private String email; + private String password; + private boolean status; + + public Account(String email, String password) throws Exception { + this.setEmail(email); + this.setPassword(password); + this.status = false; + } + + public void setEmail(String email) throws Exception { + if (email.contains("@")){ + this.email = email; + } + + // TODO: + // Should return false if following domain model idea + // Or throw an error instead of just printing out to the console. +// System.out.println("ERROR: Email is not valid."); + this.email = null; + throw new Exception("ERROR: Email is not valid."); + } + + public void setPassword(String password) { + this.password = password; + } + + public void setStatus(boolean status) { + this.status = status; + } +} diff --git a/src/test/java/com/booleanuk/core/AccountTest.java b/src/test/java/com/booleanuk/core/AccountTest.java new file mode 100644 index 0000000..d4689b6 --- /dev/null +++ b/src/test/java/com/booleanuk/core/AccountTest.java @@ -0,0 +1,15 @@ +package com.booleanuk.core; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class AccountTest { + + @Test + public void checkValidEmail() throws Exception { + Account account = new Account("email", "password"); + +// Assertions.assertThrows(Exeption(), "ERROR: Email is not valid."); + + } +}