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..ff2c6ec --- /dev/null +++ b/src/main/java/com/booleanuk/core/Account.java @@ -0,0 +1,55 @@ +package com.booleanuk.core; + +import java.util.HashMap; + +public class Account { + private HashMap users; + + public Account() { + this.users = new HashMap<>(); + } + + public String createAccount(String email, String password) { + String result = ""; + if (!email.contains("@")) { + result = "invalid email"; + return result; + } + + if (password.length() < 8) { + result = "invalid password"; + return result; + } + + String[] value = {password, "disabled"}; + users.put(email, value); + result = "Account successfully added"; + return result; + } + + public Boolean enableAccount(String email, String password) { + if (!users.containsKey(email)) + return false; + if (!users.get(email)[0].equals(password)) + return false; + String[] value = {users.get(email)[0], "enabled"}; + users.replace(email, value); + return true; + } + + public String logIn(String email, String password) { + String result = ""; + if (!users.containsKey(email)) { + result = "invalid email"; + } + if (!users.get(email)[0].equals(password)) { + result = "invalid password"; + } + if (users.get(email)[1].equals("disabled")) { + result = "Disabled Account"; + } + return result; + } + + +} diff --git a/src/main/java/com/booleanuk/core/TodoItem.java b/src/main/java/com/booleanuk/core/TodoItem.java index 655d825..f78b535 100644 --- a/src/main/java/com/booleanuk/core/TodoItem.java +++ b/src/main/java/com/booleanuk/core/TodoItem.java @@ -1,9 +1,9 @@ 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) { this.title = title; @@ -11,6 +11,22 @@ public TodoItem(String title, String detail, String status) { this.status = status; } + public void setTitle(String title) { + this.title = title; + } + + public String getTitle() { + return this.title; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + public String getDetail() { + return this.detail; + } + public void setStatus(String status) { this.status = status; } diff --git a/src/main/java/com/booleanuk/core/User.java b/src/main/java/com/booleanuk/core/User.java new file mode 100644 index 0000000..0ec574b --- /dev/null +++ b/src/main/java/com/booleanuk/core/User.java @@ -0,0 +1,27 @@ +package com.booleanuk.core; + +public class User { + private String email; + private String password; + + public User(String email, String password) { + this.email = email; + this.password = password; + } + + public void setEmail(String email) { + this.email = email; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public String getPassword() { + return password; + } +} diff --git a/src/main/java/com/booleanuk/core/diagram.png b/src/main/java/com/booleanuk/core/diagram.png new file mode 100644 index 0000000..d214150 Binary files /dev/null and b/src/main/java/com/booleanuk/core/diagram.png differ diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index 095af82..3da2864 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -5,4 +5,16 @@ class TodoItemTest { + @Test + public void testAbstractions() { + TodoItem toDo = new TodoItem("Do homework", "deadline tomorrow", "barely started"); + + toDo.setTitle("Homework"); + toDo.setDetail("Deadline: Friday"); + toDo.setStatus("Started"); + + Assertions.assertEquals("Homework", toDo.getTitle()); + Assertions.assertEquals("Deadline: Friday", toDo.getDetail()); + Assertions.assertEquals("Started", toDo.getStatus()); + } }