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
Binary file added ClassModel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions src/main/java/com/booleanuk/core/BankAccount.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.booleanuk.core;

public class BankAccount {
private int balance;

public BankAccount(double openingBalance) {
this.setBalance(openingBalance);
}

public void depositAmount(double deposit) {
double newTotal = this.getBalance() + deposit;
this.setBalance(newTotal);
}

public double getBalance() {
return this.balance/100.0;
}

private void setBalance(double balance) {
this.balance = (int) (balance * 100);
}
}
32 changes: 24 additions & 8 deletions src/main/java/com/booleanuk/core/TodoItem.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,37 @@
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 String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getDetail() {
return detail;
}

public void setDetail(String detail) {
this.detail = detail;
}

public void setStatus() {
this.status = !this.status;
}

public String getStatus() {
return this.status;
return this.status?"Done":"Pending";
}
}
20 changes: 20 additions & 0 deletions src/main/java/com/booleanuk/core/TrafficLight.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.booleanuk.core;

public class TrafficLight {
private String colour;
public TrafficLight() {
this.colour = "green";
}

public boolean canGo() {
return this.colour.equals("green");
}

public void setGreen() {
this.colour = "green";
}

public void setRed() {
this.colour = "red";
}
}
51 changes: 51 additions & 0 deletions src/main/java/com/booleanuk/core/UserAccount.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.booleanuk.core;

public class UserAccount {
private String emailAddress;
private String password;
private boolean isActivated;

public UserAccount() {
this.isActivated = false;
}

public String getEmailAddress() {
return emailAddress;
}

public boolean setEmailAddress(String emailAddress) {
if (emailAddress.contains("@")){
this.emailAddress = emailAddress;
System.out.println("Email set successfully.");
return true;
} else {
System.out.println("Invalid email address format.");
return false;
}
}

public String getPassword() {
return password;
}

public boolean setPassword(String password) {
if (password.length()<8){
System.out.println("Password should be at least 8 characters long.");
return false;
} else {
this.password = password;
System.out.println("Password set successfully.");
return true;
}

}

public boolean getAccountStatus() {
System.out.println(!isActivated?"The account has not been activated yet.":"The account is currently active.");
return isActivated;
}

public void activateAccount() {
isActivated = true;
}
}
47 changes: 47 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,52 @@
import org.junit.jupiter.api.Test;

class TodoItemTest {
@Test
public void shouldHaveTitle(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
Assertions.assertEquals("Walk Dog", tdi.getTitle());
}

@Test
public void titleShouldChange(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
tdi.setTitle("Walk Family Dog");
Assertions.assertEquals("Walk Family Dog", tdi.getTitle());
}

@Test
public void shouldHaveDetails(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
Assertions.assertEquals("Take Ralf out in the afternoon.", tdi.getDetail());
}

@Test
public void detailsShouldChange(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
tdi.setDetail("Take Ralf out in the evening.");
Assertions.assertEquals("Take Ralf out in the evening.", tdi.getDetail());
}

@Test
public void shouldStartAsPending(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
Assertions.assertEquals("Pending", tdi.getStatus());
}

@Test
public void shouldChangeStatusToDone(){
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
tdi.setStatus();
Assertions.assertEquals("Done", tdi.getStatus());
}

@Test
public void shouldCycleBackToPendingIfActuallyNotDone() {
TodoItem tdi = new TodoItem("Walk Dog", "Take Ralf out in the afternoon.");
Assertions.assertEquals("Pending", tdi.getStatus());
tdi.setStatus();
Assertions.assertEquals("Done", tdi.getStatus());
tdi.setStatus();
Assertions.assertEquals("Pending", tdi.getStatus());
}
}
42 changes: 42 additions & 0 deletions src/test/java/com/booleanuk/core/UserAccountTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.booleanuk.core;

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

public class UserAccountTest {
@Test
public void newAccountShouldBeDisabled() {
UserAccount acc = new UserAccount();
Assertions.assertFalse(acc.getAccountStatus());
}

@Test
public void accountShouldActivate() {
UserAccount acc = new UserAccount();
acc.activateAccount();
Assertions.assertTrue(acc.getAccountStatus());
}

@Test
public void shouldHavePasswordCheck() {
UserAccount acc = new UserAccount();
Assertions.assertFalse(acc.setPassword("abcdef"));
Assertions.assertTrue(acc.setPassword("12345678"));
}

@Test
public void shouldHaveEmailCheck() {
UserAccount acc = new UserAccount();
Assertions.assertFalse(acc.setEmailAddress("wrongEmailFormat.com"));
Assertions.assertTrue(acc.setEmailAddress("correctEmail@format.com"));
}

@Test
public void onSuccessfulCreationShouldGetData() {
UserAccount acc = new UserAccount();
Assertions.assertTrue(acc.setEmailAddress("correctEmail@format.com"));
Assertions.assertTrue(acc.setPassword("12345678"));
Assertions.assertEquals("correctEmail@format.com", acc.getEmailAddress());
Assertions.assertEquals("12345678", acc.getPassword());
}
}