From 8033bb523ac561f91be21c780886f31c43fe9c74 Mon Sep 17 00:00:00 2001 From: Derwin Bell Date: Mon, 9 Mar 2026 15:17:42 -0400 Subject: [PATCH 1/2] Code Complete --- .../object/example/derwinbell/Library.java | 49 +++++++++++++++++++ .../object/example/derwinbell/PersonTest.java | 42 ++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 src/main/java/object/example/derwinbell/Library.java create mode 100644 src/test/java/object/example/derwinbell/PersonTest.java diff --git a/src/main/java/object/example/derwinbell/Library.java b/src/main/java/object/example/derwinbell/Library.java new file mode 100644 index 0000000..2d55598 --- /dev/null +++ b/src/main/java/object/example/derwinbell/Library.java @@ -0,0 +1,49 @@ +package object.example.derwinbell; + +public class Library { + private String title; + private String author; + private int pages; + private boolean checkedOut; + private int dueDays; + + public Library(String title, String author, int pages, boolean checkedOut, int dueDays) { + if (pages <= 0) { + throw new IllegalArgumentException("Pages must be greater than 0"); + } + this.title = title; + this.author = author; + this.pages = pages; + this.checkedOut = checkedOut; + this.dueDays = dueDays; + } + + public String getTitle() { + return title; + } + + public String getAuthor() { + return author; + } + + public int getPages() { + return pages; + } + + public boolean isCheckedOut() { + return checkedOut; + } + + public int getDueDays() { + return dueDays; + } + public void checkOut(){ + checkedOut = true; + } + + public void returnBook(){ + checkedOut = false; + } + + +} diff --git a/src/test/java/object/example/derwinbell/PersonTest.java b/src/test/java/object/example/derwinbell/PersonTest.java new file mode 100644 index 0000000..b089519 --- /dev/null +++ b/src/test/java/object/example/derwinbell/PersonTest.java @@ -0,0 +1,42 @@ +package object.example.derwinbell; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +class LibraryTest { + @Test + void constructorWorks(){ + Library book = new Library("Java", "Smith", 300, false, 14); + + assertEquals("Java", book.getTitle()); + assertEquals("Smith", book.getAuthor()); + } + + + @Test + void checkOutWorks(){ + + Library book = new Library("Java", "Smith", 300, false, 14); + + book.checkOut(); + + assertTrue(book.isCheckedOut()); + } + + @Test + void invalidPagesThrows(){ + + assertThrows(IllegalArgumentException.class, () -> { + new Library("Java", "Smith", -1, false, 14); + }); + } + + @Test + void findPagesAndDueDates(){ + Library book = new Library("Java", "Smith", 300, false, 14); + + assertEquals(14, book.getDueDays()); + assertEquals(300, book.getPages()); + } + +} From 70b6d2278f6611b083aa54f0a03d3a87e76102cf Mon Sep 17 00:00:00 2001 From: Derwin Bell Date: Mon, 9 Mar 2026 15:23:23 -0400 Subject: [PATCH 2/2] Code Complete --- src/main/java/object/example/Person.java | 51 ---------- src/test/java/object/example/PersonTest.java | 99 ------------------- .../{PersonTest.java => LibraryTest.java} | 12 +-- 3 files changed, 6 insertions(+), 156 deletions(-) delete mode 100644 src/main/java/object/example/Person.java delete mode 100644 src/test/java/object/example/PersonTest.java rename src/test/java/object/example/derwinbell/{PersonTest.java => LibraryTest.java} (77%) diff --git a/src/main/java/object/example/Person.java b/src/main/java/object/example/Person.java deleted file mode 100644 index 309e7ae..0000000 --- a/src/main/java/object/example/Person.java +++ /dev/null @@ -1,51 +0,0 @@ -package object.example; - - -public class Person { - - private String firstName; - private String lastName; - private int age; - private String email; - private String phoneNumber; - - public Person(String firstName, String lastName, int age, - String email, String phoneNumber) { - if (age < 0) { - throw new IllegalArgumentException("Age cannot be negative"); - } - this.firstName = firstName; - this.lastName = lastName; - this.age = age; - this.email = email; - this.phoneNumber = phoneNumber; - } - - public String getFirstName() { return firstName; } - public void setFirstName(String firstName) { this.firstName = firstName; } - - public String getLastName() { return lastName; } - public void setLastName(String lastName) { this.lastName = lastName; } - - public int getAge() { return age; } - public void setAge(int age) { - if (age < 0) { - throw new IllegalArgumentException("Age cannot be negative"); - } - this.age = age; - } - - public String getEmail() { return email; } - public void setEmail(String email) { this.email = email; } - - public String getPhoneNumber() { return phoneNumber; } - public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } - - public String getFullName() { - return firstName + " " + lastName; - } - - public boolean isAdult() { - return age >= 18; - } -} \ No newline at end of file diff --git a/src/test/java/object/example/PersonTest.java b/src/test/java/object/example/PersonTest.java deleted file mode 100644 index 6ae0408..0000000 --- a/src/test/java/object/example/PersonTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package object.example; - -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -class PersonTest { - - @Test - public void constructorShouldCreatePersonWithValidData() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - - assertEquals("Jane", person.getFirstName()); - assertEquals("Smith", person.getLastName()); - assertEquals(25, person.getAge()); - assertEquals("jane@email.com", person.getEmail()); - assertEquals("555-1234", person.getPhoneNumber()); - } - - @Test - public void constructorWithNegativeAgeShouldThrowException() { - assertThrows( - IllegalArgumentException.class, - () -> new Person("Jane", "Smith", -1, - "jane@email.com", "555-1234") - ); - } - - @Test - public void setFirstNameShouldUpdateFirstName() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - person.setFirstName("Jordan"); - assertEquals("Jordan", person.getFirstName()); - } - - @Test - public void setLastNameShouldUpdateLastName() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - person.setLastName("Eldridge"); - assertEquals("Eldridge", person.getLastName()); - } - - @Test - public void setAgeShouldUpdateAge() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - person.setAge(30); - assertEquals(30, person.getAge()); - } - - @Test - public void setAgeWithNegativeValueShouldThrowException() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - assertThrows( - IllegalArgumentException.class, - () -> person.setAge(-1) - ); - } - - @Test - public void setEmailShouldUpdateEmail() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - person.setEmail("jordan@email.com"); - assertEquals("jordan@email.com", person.getEmail()); - } - - @Test - public void setPhoneNumberShouldUpdatePhoneNumber() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - person.setPhoneNumber("555-5678"); - assertEquals("555-5678", person.getPhoneNumber()); - } - - @Test - public void getFullNameShouldReturnFirstAndLastName() { - Person person = new Person("Jane", "Smith", 25, - "jane@email.com", "555-1234"); - assertEquals("Jane Smith", person.getFullName()); - } - - @Test - public void isAdultShouldReturnTrueWhenAgeIsEighteenOrOver() { - Person person = new Person("Jane", "Smith", 18, - "jane@email.com", "555-1234"); - assertTrue(person.isAdult()); - } - - @Test - public void isAdultShouldReturnFalseWhenAgeIsUnderEighteen() { - Person person = new Person("Jane", "Smith", 17, - "jane@email.com", "555-1234"); - assertFalse(person.isAdult()); - } -} \ No newline at end of file diff --git a/src/test/java/object/example/derwinbell/PersonTest.java b/src/test/java/object/example/derwinbell/LibraryTest.java similarity index 77% rename from src/test/java/object/example/derwinbell/PersonTest.java rename to src/test/java/object/example/derwinbell/LibraryTest.java index b089519..3c3908c 100644 --- a/src/test/java/object/example/derwinbell/PersonTest.java +++ b/src/test/java/object/example/derwinbell/LibraryTest.java @@ -4,13 +4,13 @@ import static org.junit.jupiter.api.Assertions.*; class LibraryTest { - @Test - void constructorWorks(){ - Library book = new Library("Java", "Smith", 300, false, 14); + @Test + void constructorWorks(){ + Library book = new Library("Java", "Smith", 300, false, 14); - assertEquals("Java", book.getTitle()); - assertEquals("Smith", book.getAuthor()); - } + assertEquals("Java", book.getTitle()); + assertEquals("Smith", book.getAuthor()); + } @Test