From 82dcbc390ce7a59e2f06311f19a62a8f8904bca0 Mon Sep 17 00:00:00 2001 From: hannaklh Date: Mon, 18 Aug 2025 12:40:37 +0200 Subject: [PATCH 1/4] test done --- src/test/java/com/booleanuk/core/TodoItemTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/com/booleanuk/core/TodoItemTest.java b/src/test/java/com/booleanuk/core/TodoItemTest.java index 095af82..d78aff1 100644 --- a/src/test/java/com/booleanuk/core/TodoItemTest.java +++ b/src/test/java/com/booleanuk/core/TodoItemTest.java @@ -4,5 +4,11 @@ import org.junit.jupiter.api.Test; class TodoItemTest { + @Test + public void shouldNotWork () { + TodoItem toDo = new TodoItem("title", "detail", "status"); + + Assertions.assertThrows(NoSuchFieldException.class, () -> TodoItem.class.getField("detail")); + } } From db627833e7c2774c4191e4ad8733a7e8ee8c62b1 Mon Sep 17 00:00:00 2001 From: hannaklh Date: Mon, 18 Aug 2025 12:56:53 +0200 Subject: [PATCH 2/4] exercise done --- src/main/java/com/booleanuk/core/TodoItem.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/booleanuk/core/TodoItem.java b/src/main/java/com/booleanuk/core/TodoItem.java index 655d825..06b2d66 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; From d55be80275cba98bcf676e2feee2704775776929 Mon Sep 17 00:00:00 2001 From: hannaklh Date: Mon, 18 Aug 2025 13:20:56 +0200 Subject: [PATCH 3/4] class diagram and tests created --- src/main/Exercise2.png | Bin 0 -> 15166 bytes src/main/java/com/booleanuk/core/User.java | 44 ++++++++++++++++++ .../java/com/booleanuk/core/UserTest.java | 41 ++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 src/main/Exercise2.png create mode 100644 src/main/java/com/booleanuk/core/User.java create mode 100644 src/test/java/com/booleanuk/core/UserTest.java diff --git a/src/main/Exercise2.png b/src/main/Exercise2.png new file mode 100644 index 0000000000000000000000000000000000000000..34a1f6621fd617642b3915849980083b78b5d737 GIT binary patch literal 15166 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 Hr@;RKGm|Tm literal 0 HcmV?d00001 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..c6c2fa2 --- /dev/null +++ b/src/main/java/com/booleanuk/core/User.java @@ -0,0 +1,44 @@ +package com.booleanuk.core; + +public class User { + private String password; + private String email; + private boolean isDisabled = true; + + public User() {} + + public User(String password, String email) { + setEmail(email); + setPassword(password); + } + + public boolean isDisabled() { + return isDisabled; + } + + public void setDisabled(boolean disabled) { + isDisabled = disabled; + } + + public String getEmail() { + return email; + } + + public String setEmail(String email) { + this.email = email; + return ""; + } + + public String getPassword() { + return password; + } + + public String setPassword(String password) { + this.password = password; + return ""; + } + public String loginCapabilities() { + return ""; + } + +} diff --git a/src/test/java/com/booleanuk/core/UserTest.java b/src/test/java/com/booleanuk/core/UserTest.java new file mode 100644 index 0000000..fd71e67 --- /dev/null +++ b/src/test/java/com/booleanuk/core/UserTest.java @@ -0,0 +1,41 @@ +package com.booleanuk.core; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class UserTest { + User user = new User(); + + @Test + public void shouldCreatePassword() { + + Assertions.assertEquals("invalid password", user.setPassword("Tjena")); + + Assertions.assertEquals("password created", user.setPassword("Tjenare!")); + + } + + @Test + public void shouldCreateEmail() { + + Assertions.assertEquals("invalid email", user.setEmail("Hanna.hAThotmail.com")); + + Assertions.assertEquals("email added", user.setEmail("Hanna.h@hotmail.com")); + + } + + @Test + public void shouldBeDisabled() { + + Assertions.assertTrue(!user.isDisabled()); + } + public void shouldNotBeAbleToLogin() { + + Assertions.assertEquals("Account Disabled: user cannot login", user.loginCapabilities()); + + user.setDisabled(false); + Assertions.assertEquals("Account Enabled: user can login", user.loginCapabilities()); + } + + +} From afd3787dd723a882c59345409e63d12d7ed542a1 Mon Sep 17 00:00:00 2001 From: hannaklh Date: Mon, 18 Aug 2025 13:29:29 +0200 Subject: [PATCH 4/4] exercise implemented --- src/main/java/com/booleanuk/core/User.java | 21 ++++++++++++++----- .../java/com/booleanuk/core/UserTest.java | 6 +----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/booleanuk/core/User.java b/src/main/java/com/booleanuk/core/User.java index c6c2fa2..5f1f30e 100644 --- a/src/main/java/com/booleanuk/core/User.java +++ b/src/main/java/com/booleanuk/core/User.java @@ -25,8 +25,11 @@ public String getEmail() { } public String setEmail(String email) { - this.email = email; - return ""; + if (email.contains("@")) { + this.email = email; + return "email added"; + } else + return "invalid email"; } public String getPassword() { @@ -34,11 +37,19 @@ public String getPassword() { } public String setPassword(String password) { - this.password = password; - return ""; + if (password.length() >= 8) { + this.password = password; + return "password created"; + } else + return "invalid password"; + } public String loginCapabilities() { - return ""; + + if (isDisabled()) + return "Account Disabled: user cannot login"; + + return "Account Enabled: user can login"; } } diff --git a/src/test/java/com/booleanuk/core/UserTest.java b/src/test/java/com/booleanuk/core/UserTest.java index fd71e67..9bc26e2 100644 --- a/src/test/java/com/booleanuk/core/UserTest.java +++ b/src/test/java/com/booleanuk/core/UserTest.java @@ -11,7 +11,7 @@ public void shouldCreatePassword() { Assertions.assertEquals("invalid password", user.setPassword("Tjena")); - Assertions.assertEquals("password created", user.setPassword("Tjenare!")); + Assertions.assertEquals("password created", user.setPassword("TjabbaTjena")); } @@ -25,10 +25,6 @@ public void shouldCreateEmail() { } @Test - public void shouldBeDisabled() { - - Assertions.assertTrue(!user.isDisabled()); - } public void shouldNotBeAbleToLogin() { Assertions.assertEquals("Account Disabled: user cannot login", user.loginCapabilities());