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/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"); + } } 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 | 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."); + + } +} diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index 095af82..65b0b28 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -5,4 +5,14 @@ class TodoItemTest { + @Test + public void checkSetStatus() { + TodoItem todo = new TodoItem("Todo", "JUnit testing"); + + todo.markAsComplete(); + Assertions.assertEquals("complete", todo.getStatus()); + + todo.markAsIncomplete(); + Assertions.assertEquals("incomplete", todo.getStatus()); + } }