From aa02c6e9641a587b6ae9326fd8ce075e8c28c3db Mon Sep 17 00:00:00 2001 From: James Kollilon Barclay III Date: Tue, 10 Mar 2026 10:30:40 -0400 Subject: [PATCH 1/2] "TDD Lab completed" --- src/main/java/jamesbarclay/Worker.java | 93 +++++++++++++++++++++ src/main/java/jamesbarclay/WorkerTest.java | 95 ++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 src/main/java/jamesbarclay/Worker.java create mode 100644 src/main/java/jamesbarclay/WorkerTest.java diff --git a/src/main/java/jamesbarclay/Worker.java b/src/main/java/jamesbarclay/Worker.java new file mode 100644 index 0000000..e43f3e9 --- /dev/null +++ b/src/main/java/jamesbarclay/Worker.java @@ -0,0 +1,93 @@ +package jamesbarclay; + +public class Worker { + + private String firstName; + private String lastName; + private int age; + private String email; + private int IdNumber; + private String phoneNumber; + + + public Worker(String firstName, String lastName, int age, + String email, int IdNumber, String phoneNumber) { + + + if (phoneNumber == null || phoneNumber.isEmpty()) { + throw new IllegalArgumentException("Phone number cannot be empty"); + } + + this.firstName = firstName; + this.lastName = lastName; + this.age = age; + this.IdNumber = IdNumber; + this.email = email; + this.phoneNumber = phoneNumber; + } + + // Getters + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public int getAge() { + return age; + } + + public String getEmail() { + return email; + } + + public int getIdNumber() { + return IdNumber; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + // Setters + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public void setAge(int age) { + this.age = age; + } + + public void setEmail(String email) { + this.email = email; + } + + public void setIdNumber(int IdNumber) { + this.IdNumber = IdNumber; + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + + if (phoneNumber == null || phoneNumber.isEmpty()) { + throw new IllegalArgumentException("Phone number cannot be empty"); + } + } + // Custom Method #1 + // Returns the worker's full name + public String getFullName() { + return firstName + " " + lastName; + } + + // Custom Method #2 + // Checks if the worker is an adult + public boolean isAdult() { + return age >= 18; + } +} \ No newline at end of file diff --git a/src/main/java/jamesbarclay/WorkerTest.java b/src/main/java/jamesbarclay/WorkerTest.java new file mode 100644 index 0000000..f9ae731 --- /dev/null +++ b/src/main/java/jamesbarclay/WorkerTest.java @@ -0,0 +1,95 @@ +package jamesbarclay; + +//compares expected vs actual values +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; + +// creates tests +import org.testng.annotations.Test; + +public class WorkerTest { + + // This test checks if the constructor correctly creates a Worker object + @Test + public void constructorShouldCreateWorkerWithValidData() { + + // Create a new Worker object using the constructor + Worker worker = new Worker("James", "Barclay", 34, "JB@gmail.com", + 12345, "302-555-5555"); + + // Check if values were passed into the constructor correctly + assertEquals("James", worker.getFirstName()); + assertEquals("Barclay", worker.getLastName()); + assertEquals(34, worker.getAge()); + assertEquals(12345, worker.getIdNumber()); + assertEquals("JB@gmail.com", worker.getEmail()); + assertEquals("302-555-5555", worker.getPhoneNumber()); + } + + // This test checks that the setter methods to be able to update the Worker values + @Test + public void settersShouldUpdateValues() { + + // Create a Worker object with starting values + Worker worker = new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, "222-222-2222"); + + // Use setter methods to change the values + worker.setFirstName("J"); + worker.setLastName("B"); + worker.setAge(50); + worker.setEmail("jbs@gmail.com"); + worker.setIdNumber(11111); + worker.setPhoneNumber("333-333-3333"); + + // Verify that the values were updated + assertEquals("J", worker.getFirstName()); + assertEquals("B", worker.getLastName()); + assertEquals(50, worker.getAge()); + assertEquals("jbs@gmail.com", worker.getEmail()); + assertEquals(11111, worker.getIdNumber()); + assertEquals("333-333-3333", worker.getPhoneNumber()); + } + // Test custom method getFullName() + @Test + public void getFullNameShouldReturnFullName() { + + Worker worker = new Worker("James", "Barclay", 34, + "jb@gmail.com", 12345, "302-555-5555"); + + assertEquals("James Barclay", worker.getFullName()); + } + + // Test custom method isAdult() + @Test + public void isAdultShouldReturnTrueForAdult() { + + Worker worker = new Worker("James", "Barclay", 34, + "jb@gmail.com", 12345, "302-555-5555"); + + assertTrue(worker.isAdult()); + } + + // This test checks that the constructor throws an error if the phone number is empty + @Test(expectedExceptions = IllegalArgumentException.class) + public void constructorShouldThrowExceptionWhenPhoneNumberIsEmpty() { + + // This should fail because the phone number is empty + new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, ""); + } + + // This test checks that the setter method also throws an error + // if someone tries to set the phone number to an empty value + @Test(expectedExceptions = IllegalArgumentException.class) + public void setterShouldThrowExceptionWhenPhoneNumberIsEmpty() { + + // First create a Worker with a valid phone number + Worker worker = new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, "111-111-1111"); + + // This should throw an IllegalArgumentException + worker.setPhoneNumber(""); + } + +} \ No newline at end of file From a43549d8689a89a55aae8391eb983eed60f37d70 Mon Sep 17 00:00:00 2001 From: James Kollilon Barclay III Date: Tue, 10 Mar 2026 10:53:39 -0400 Subject: [PATCH 2/2] "TDD Lab completed" --- src/test/java/object/example/WorkerTest.java | 96 ++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/test/java/object/example/WorkerTest.java diff --git a/src/test/java/object/example/WorkerTest.java b/src/test/java/object/example/WorkerTest.java new file mode 100644 index 0000000..75c12b4 --- /dev/null +++ b/src/test/java/object/example/WorkerTest.java @@ -0,0 +1,96 @@ +package object.example; + +//compares expected vs actual values +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; + +// creates tests +import jamesbarclay.Worker; +import org.testng.annotations.Test; + +public class WorkerTest { + + // This test checks if the constructor correctly creates a Worker object + @Test + public void constructorShouldCreateWorkerWithValidData() { + + // Create a new Worker object using the constructor + Worker worker = new Worker("James", "Barclay", 34, "JB@gmail.com", + 12345, "302-555-5555"); + + // Check if values were passed into the constructor correctly + assertEquals("James", worker.getFirstName()); + assertEquals("Barclay", worker.getLastName()); + assertEquals(34, worker.getAge()); + assertEquals(12345, worker.getIdNumber()); + assertEquals("JB@gmail.com", worker.getEmail()); + assertEquals("302-555-5555", worker.getPhoneNumber()); + } + + // This test checks that the setter methods to be able to update the Worker values + @Test + public void settersShouldUpdateValues() { + + // Create a Worker object with starting values + Worker worker = new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, "222-222-2222"); + + // Use setter methods to change the values + worker.setFirstName("J"); + worker.setLastName("B"); + worker.setAge(50); + worker.setEmail("jbs@gmail.com"); + worker.setIdNumber(11111); + worker.setPhoneNumber("333-333-3333"); + + // Verify that the values were updated + assertEquals("J", worker.getFirstName()); + assertEquals("B", worker.getLastName()); + assertEquals(50, worker.getAge()); + assertEquals("jbs@gmail.com", worker.getEmail()); + assertEquals(11111, worker.getIdNumber()); + assertEquals("333-333-3333", worker.getPhoneNumber()); + } + // Test custom method getFullName() + @Test + public void getFullNameShouldReturnFullName() { + + Worker worker = new Worker("James", "Barclay", 34, + "jb@gmail.com", 12345, "302-555-5555"); + + assertEquals("James Barclay", worker.getFullName()); + } + + // Test custom method isAdult() + @Test + public void isAdultShouldReturnTrueForAdult() { + + Worker worker = new Worker("James", "Barclay", 34, + "jb@gmail.com", 12345, "302-555-5555"); + + assertTrue(worker.isAdult()); + } + + // This test checks that the constructor throws an error if the phone number is empty + @Test(expectedExceptions = IllegalArgumentException.class) + public void constructorShouldThrowExceptionWhenPhoneNumberIsEmpty() { + + // This should fail because the phone number is empty + new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, ""); + } + + // This test checks that the setter method also throws an error + // if someone tries to set the phone number to an empty value + @Test(expectedExceptions = IllegalArgumentException.class) + public void setterShouldThrowExceptionWhenPhoneNumberIsEmpty() { + + // First create a Worker with a valid phone number + Worker worker = new Worker("Mike", "M", 40, "Mike@gmail.com", + 54321, "111-111-1111"); + + // This should throw an IllegalArgumentException + worker.setPhoneNumber(""); + } + +} \ No newline at end of file