diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index bde0b59..08ced97 100644 --- a/pom.xml +++ b/pom.xml @@ -9,4 +9,12 @@ 1.0-SNAPSHOT + + + + junit + junit + 4.13.2 + + \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/centrallibrary/Book.java b/src/main/java/com/zipcodewilmington/centrallibrary/Book.java new file mode 100644 index 0000000..db39c7c --- /dev/null +++ b/src/main/java/com/zipcodewilmington/centrallibrary/Book.java @@ -0,0 +1,52 @@ +package com.zipcodewilmington.centrallibrary; + +public class Book extends LibraryItem { + private String author; + private String genre; + private String isbn; + private int pages; + + + + public Book(String author, String genre, String isbn, int numberOfPages) { + + this.author = author; + this.genre = genre; + this.isbn = isbn; + this.pages = numberOfPages; + + } + + + public String getAuthor() { + return author; + } + public void setAuthor(String author) { + this.author = author; + + } + + public String getGenre() { + return genre; + } + public void setGenre(String genre) { + this.genre = genre; + } + + public String getIsbn() { + return isbn; + } + + public void setIsbn(String isbn) { + this.isbn = isbn; + } + + public int getPages() { + return pages; + } + public void setPages(int pages) { + this.pages = pages; + + } +} + diff --git a/src/main/java/com/zipcodewilmington/centrallibrary/BookTest.java b/src/main/java/com/zipcodewilmington/centrallibrary/BookTest.java new file mode 100644 index 0000000..9357472 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/centrallibrary/BookTest.java @@ -0,0 +1,21 @@ +package com.zipcodewilmington.centrallibrary; + +public class BookTest { + +public static void main(String[] args) { + + Book book = new Book("A100", "The Great Gatsby", "Aisle 3", 180); + + + System.out.println(book.getAuthor()); + System.out.println(book.getGenre()); + System.out.println(book.getPages()); + System.out.println(book.isAvailable()); + System.out.println(book.getLocation()); + System.out.println(book.getId()); + System.out.println(book.getTitle()); + +} + + +} diff --git a/src/main/java/com/zipcodewilmington/centrallibrary/LibraryItem.java b/src/main/java/com/zipcodewilmington/centrallibrary/LibraryItem.java new file mode 100644 index 0000000..776cd2b --- /dev/null +++ b/src/main/java/com/zipcodewilmington/centrallibrary/LibraryItem.java @@ -0,0 +1,80 @@ +package com.zipcodewilmington.centrallibrary; + + +public class LibraryItem { + private int id; + private String title; + private String location; + private boolean isAvailable; + private String isbn; + +//constructor + + + public LibraryItem() { + + } + + public LibraryItem(int id, String title, String location){ + this.id = id; + this.title = title; + this.location = location; + this.isAvailable = true; + + //getters and setters + + } + public int getId() { + return id; + } + public void setId(int id) { + this.id = id; + } + + public String getTitle() { + return title; + } + public void setTitle(String title) { + this.title = title; + } + + public String getLocation() { + return location; + } + public void setLocation(String location) { + this.location = location; + } + + public boolean isAvailable() { + return isAvailable; + } + public void setAvailable(boolean available) { + isAvailable = available; + } + + public void checkOut() { + this.isAvailable = false; + } + + public void checkIn() { + this.isAvailable = true; + + } + public String getIsbn() { + return isbn; + } + public void setIsbn(String isbn) { + this.isbn = isbn; + } + + + + + + + + + +} + + diff --git a/src/main/java/com/zipcodewilmington/centrallibrary/MainApplication.java b/src/main/java/com/zipcodewilmington/centrallibrary/MainApplication.java index c914d10..d8e8bed 100644 --- a/src/main/java/com/zipcodewilmington/centrallibrary/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/centrallibrary/MainApplication.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.centralibrary; +package com.zipcodewilmington.centrallibrary; /** * Created by n3pjk on 6/9/2025. diff --git a/src/test/Reservable.java b/src/test/Reservable.java new file mode 100644 index 0000000..d8fd84a --- /dev/null +++ b/src/test/Reservable.java @@ -0,0 +1,11 @@ +package library; + +class LibraryMember { + +} +public interface Reservable { + void reserve(LibraryMember member); + void cancelReserve(LibraryMember member); + boolean isReserved(); + +} diff --git a/src/test/Searchable.java b/src/test/Searchable.java new file mode 100644 index 0000000..0433ff5 --- /dev/null +++ b/src/test/Searchable.java @@ -0,0 +1,5 @@ +public interface Searchable { + boolean matchesKeyword(String keyword); + String[] getSearchableFields(); + } + diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/Address.java b/src/test/java/com/zipcodewilmington/centrallibrary/Address.java new file mode 100644 index 0000000..c15725e --- /dev/null +++ b/src/test/java/com/zipcodewilmington/centrallibrary/Address.java @@ -0,0 +1,32 @@ +package com.zipcodewilmington.centrallibrary; + + + +public class Address{ + private String street; + private String city; + private String state; + private String zipcode; + + public Address(String street, String city, String state, String zipcode) { + this.street = street; + this.city = city; + this.state = state; + this.zipcode = zipcode; + } + + public String getStreet() {return street; } + public String getCity() {return city; } + public String getState() {return state; } + public String getZipcode() {return zipcode; } + + public void SetStreet(String street) {this.street = state; } + public void SetCity(String city) {this.city = city; } + public void SetState(String state) {this.state = state; } + public void SetZipcode(String zipCode) {this.zipcode = zipCode; } + + @Override + public String toString() { + return street + ", " + city + ", " + state + ", " + zipcode; + } +} \ No newline at end of file diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/AddressTest.java b/src/test/java/com/zipcodewilmington/centrallibrary/AddressTest.java new file mode 100644 index 0000000..1a48f82 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/centrallibrary/AddressTest.java @@ -0,0 +1,25 @@ +package com.zipcodewilmington.centrallibrary; + +import org.junit.Assert; +import org.junit.Test; + +public class AddressTest { + + @Test + public void testAddressConstructorAndGetters() { + // given + String street = "123 North St."; + String city = "Narnia"; + String state = "Fairytaleland"; + String zipcode = "12345"; + + // when + Address address = new Address (street, city, state,zipcode); + + Assert.assertEquals(street, address.getStreet()); + Assert.assertEquals(city, address.getCity()); + Assert.assertEquals(state, address.getState()); + Assert.assertEquals(zipcode, address.getZipcode()); + } + +} diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/Library.java b/src/test/java/com/zipcodewilmington/centrallibrary/Library.java new file mode 100644 index 0000000..f207cb4 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/centrallibrary/Library.java @@ -0,0 +1,16 @@ +package com.zipcodewilmington.centrallibrary; + +import java.util.Scanner; + +public class Library { + + public static String name(String libraryNameString) { + Scanner scanner = new Scanner(System.in); + System.out.println(libraryNameString); + String userInput = scanner.nextLine(); + return userInput; + } + + + +} diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/LibraryMember b/src/test/java/com/zipcodewilmington/centrallibrary/LibraryMember new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/MainApplicationTest.java b/src/test/java/com/zipcodewilmington/centrallibrary/MainApplicationTest.java index f706f32..daa47d7 100644 --- a/src/test/java/com/zipcodewilmington/centrallibrary/MainApplicationTest.java +++ b/src/test/java/com/zipcodewilmington/centrallibrary/MainApplicationTest.java @@ -1,7 +1,9 @@ -package com.zipcodewilmington.centralibrary; +package com.zipcodewilmington.centrallibrary; /** * Created by n3pjk on 6/9/2025. */ public class MainApplicationTest { + + } diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/Person.java b/src/test/java/com/zipcodewilmington/centrallibrary/Person.java new file mode 100644 index 0000000..5018f75 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/centrallibrary/Person.java @@ -0,0 +1,37 @@ + +package com.zipcodewilmington.centrallibrary; + +public final class Person { + private String name; + private String phoneNumber; + private int age; + private String email; + + public Person(String name, int age, String email, String phoneNumber) { + this.name = name; + this.phoneNumber = phoneNumber; + setAge(age); + this.email = email; + } + + public String getName() {return name; } + + public String getPhoneNumber() {return phoneNumber; } + public int getAge() {return age; } + public String getEmail() {return email;} + + public void setName(String name) {this.name = name; } + + public void setPhoneNumber(String phoneNumber) {this.phoneNumber = phoneNumber; } + public void setAge(int age) { + if (age < 0) throw new IllegalArgumentException("Age cannot be negative."); + this.age = age; + } + public void setEmail(String email) {this.email = email; } + + @Override + public String toString() { + return name + ", " + phoneNumber + ", " + age + ", " + email; + } +} + diff --git a/src/test/java/com/zipcodewilmington/centrallibrary/PersonTest.java b/src/test/java/com/zipcodewilmington/centrallibrary/PersonTest.java new file mode 100644 index 0000000..a9eb483 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/centrallibrary/PersonTest.java @@ -0,0 +1,34 @@ +package com.zipcodewilmington.centrallibrary; + + +import org.junit.Test; +import org.junit.Assert; + + +public class PersonTest { + + @Test + public void testPersonConstructorAndGetters() { + // given + String name = "Joe"; + String phoneNumber = "302-555-1111"; + String email = "joeschmo@gmail.com"; + int age = 30; + + // when + Person person = new Person (name, age, email, phoneNumber); + + Assert.assertEquals(name, person.getName()); + Assert.assertEquals(phoneNumber, person.getPhoneNumber()); + Assert.assertEquals(email, person.getEmail()); + Assert.assertEquals(age, person.getAge()); + } + @Test + public void testSetAge_negativeAge_throwsException() { + Person person = new Person("Joe", 30, "joeschmo@gmail.com", "123-456-7890"); + + Assert.assertThrows(IllegalArgumentException.class, () -> { + person.setAge(-1); + }); + } +} diff --git a/src/test/java/person.java b/src/test/java/person.java new file mode 100644 index 0000000..a6304f4 --- /dev/null +++ b/src/test/java/person.java @@ -0,0 +1,45 @@ + +public class person { + private String name; + private String email; + private String phoneNumber; + private int age; + //constructor initialized variable instances that belong to the person class + + public person(String name, String email, String phoneNumber, int age) { + this.name = name; + this.email = email; + this.phoneNumber = phoneNumber; + this.age = age; + } + //getters and setters for the person class + public String getName() { + return name; + } + public int getAge() { + return age; + } + public String getEmail() { + return email; + } + public String getPhoneNumber() { + return phoneNumber; + } + + public void setName(String name) { + this.name = name; + } + public void setEmail(String email) { + this.email = email; + } + public void setPhoneNumber(String phoneNumber) { + if (phoneNumber == null || phoneNumber.trim().isEmpty()) { + throw new IllegalArgumentException("Phone number cannot be null or empty"); + } + this.phoneNumber = phoneNumber; +} +@Override + public String toString() { + return "person{" + "name='" + name + '\'' + ", email='" + email + '\'' + ", phoneNumber='" + phoneNumber + '\'' + ", age=" + age +'}'; + } +} \ No newline at end of file