Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/main/java/com/booleanuk/core/Account.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.booleanuk.core;


public class Account {
private String email;
private String password;
private boolean disabled;
public Account(String email, String password){
this.email = email;
this.password = password;
this.disabled = true;
}
public void toggleDisabled(){
this.disabled = !disabled;
}
public boolean isDisabled() {
return disabled;
}

public String getPassword() {
return password;
}

public String getEmail() {
return email;
}
}
50 changes: 50 additions & 0 deletions src/main/java/com/booleanuk/core/AccountManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.booleanuk.core;

import java.util.ArrayList;

public class AccountManager {
private ArrayList<Account> accounts;
public AccountManager(){
accounts = new ArrayList<>();
}
public String createUser(String email, String password){
if(!email.contains("@")){
return "invalid email";
}
else if(password.length() < 8){
return "invalid password";
}
accounts.add(new Account(email, password));
return "account created";
}
public String loginUser(String email, String password) {
for (Account a : accounts) {
if (a.getEmail().equals(email) && a.isDisabled()) {
return "account disabled";
} else if (a.getEmail().equals(email) && a.getPassword().equals(password)) {
return "login success";
}


}
return "user not found";
}
public void toggleUserDisabled(String email){
for(Account a : accounts ){
if(a.getEmail().equals(email)){
a.toggleDisabled();
return;
}
}
}
public Account getAccountByEmail(String email) {
for(Account a : accounts){
if(a.getEmail().equals(email)){
return a;
}
}
return null;
}


}
24 changes: 15 additions & 9 deletions src/main/java/com/booleanuk/core/TodoItem.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
package com.booleanuk.core;

public class TodoItem {
public String title;
public String detail;
public String status;
private String title;
private String detail;
private boolean 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 = false;
}

public void setStatus(String status) {
this.status = status;
public void toggleStatus() {
this.status = !status;
}
public boolean getStatus() {

public String getStatus() {
return this.status;
}
public String getTitle() {
return title;
}

public String getDetail() {
return detail;
}
}
45 changes: 45 additions & 0 deletions src/test/java/com/booleanuk/core/AccountAccountManagerTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.booleanuk.core;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class AccountAccountManagerTest {
@Test
public void testCreatingUserWithInvalidPassword(){
AccountManager s = new AccountManager();
Assertions.assertEquals("invalid password", s.createUser("email@email.com", "passwor"));
}
@Test
public void testCreatingUserWithInvalidEmail(){
AccountManager s = new AccountManager();
Assertions.assertEquals("invalid email", s.createUser("emailemail.com", "password"));
}
@Test
public void testCreatingAUserWithValidEmailAndPassword(){
AccountManager s = new AccountManager();
Assertions.assertEquals("account created", s.createUser("email@email.com", "password"));
}

@Test
public void testNewUserDisabledWhenCreated(){
AccountManager s = new AccountManager();
s.createUser("email@email.com", "password");
Assertions.assertTrue(s.getAccountByEmail("email@email.com").isDisabled());
}

@Test
public void testSetUserToNotDisabled(){
AccountManager s = new AccountManager();
s.createUser("email@email.com", "password");
Assertions.assertTrue(s.getAccountByEmail("email@email.com").isDisabled());
s.toggleUserDisabled("email@email.com");
Assertions.assertFalse(s.getAccountByEmail("email@email.com").isDisabled());
}

@Test
public void testLoginToAccountThatIsDisabled(){
AccountManager s = new AccountManager();
s.createUser("email@email.com", "password");
Assertions.assertEquals("account disabled", s.loginUser("email@email.com", "password"));
}
}
18 changes: 18 additions & 0 deletions src/test/java/com/booleanuk/core/TodoItemTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,23 @@
import org.junit.jupiter.api.Test;

class TodoItemTest {
@Test
public void testTodoItemGetNameAndDetailAndStatus(){
TodoItem ti = new TodoItem("Dinner", "Make dinner");
Assertions.assertEquals("Dinner", ti.getTitle());
Assertions.assertEquals("Make dinner", ti.getDetail());
}

@Test
public void testTodoItemInitialStatusSetToFalse(){
TodoItem ti = new TodoItem("Dinner", "Make dinner");
Assertions.assertFalse(ti.getStatus());
}

@Test
public void testTodoItemToggleStatusShouldBeTrue(){
TodoItem ti = new TodoItem("Dinner", "Make dinner");
ti.toggleStatus();
Assertions.assertTrue(ti.getStatus());
}
}