diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Sneakers.csv b/Sneakers.csv new file mode 100644 index 0000000..c5c50b0 --- /dev/null +++ b/Sneakers.csv @@ -0,0 +1,2 @@ +2 +1,Ch123,nike,soccer,8.0,5,34.0 diff --git a/Sneakers.json b/Sneakers.json new file mode 100644 index 0000000..fb08d5c --- /dev/null +++ b/Sneakers.json @@ -0,0 +1,33 @@ +[ { + "id" : 1, + "name" : "gh12", + "brand" : "puma", + "sport" : "basketball", + "size" : 8.0, + "quantity" : 8, + "price" : 99.0 +}, { + "id" : 2, + "name" : "bgh12", + "brand" : "adidas", + "sport" : "soccer", + "size" : 8.0, + "quantity" : 6, + "price" : 78.0 +}, { + "id" : 3, + "name" : "cgy12", + "brand" : "nike", + "sport" : "fotball", + "size" : 7.0, + "quantity" : 8, + "price" : 98.0 +}, { + "id" : 4, + "name" : "hh32", + "brand" : "Sketchers", + "sport" : "tennis", + "size" : 7.0, + "quantity" : 5, + "price" : 45.0 +} ] \ No newline at end of file diff --git a/Sneakers.txt b/Sneakers.txt new file mode 100644 index 0000000..261a1e0 --- /dev/null +++ b/Sneakers.txt @@ -0,0 +1 @@ +nextId : 5 \ No newline at end of file diff --git a/Whiskey.csv b/Whiskey.csv new file mode 100644 index 0000000..be4daed --- /dev/null +++ b/Whiskey.csv @@ -0,0 +1,2 @@ +2 +1,cdh,23,456.0 diff --git a/Whiskey.json b/Whiskey.json new file mode 100644 index 0000000..fbd211b --- /dev/null +++ b/Whiskey.json @@ -0,0 +1,16 @@ +[ { + "id" : 1, + "quantity" : 5, + "price" : 56.0, + "brand" : "jack" +}, { + "id" : 2, + "quantity" : 6, + "price" : 87.0, + "brand" : "black" +}, { + "id" : 3, + "quantity" : 7, + "price" : 54.0, + "brand" : "abc" +} ] \ No newline at end of file diff --git a/Whiskey.txt b/Whiskey.txt new file mode 100644 index 0000000..a86e296 --- /dev/null +++ b/Whiskey.txt @@ -0,0 +1 @@ +nextId4 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 43c1af2..677f19b 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,25 @@ io.zipcodewilmington ProductInventoryLab 1.0-SNAPSHOT - + + + org.junit.jupiter + junit-jupiter-engine + 5.4.2 + test + + + org.junit.jupiter + junit-jupiter-api + 5.4.2 + test + + + com.fasterxml.jackson.core + jackson-databind + 2.16.2 + + diff --git a/src/main/java/Models/Sneakers.java b/src/main/java/Models/Sneakers.java new file mode 100644 index 0000000..9877d61 --- /dev/null +++ b/src/main/java/Models/Sneakers.java @@ -0,0 +1,88 @@ +package Models; + +public class Sneakers { + private Integer id; + private String name; + private String brand; + private String sport; + private float size; + private int quantity; + private float price; + + public Sneakers(Integer id, String name, String brand, String sport, float size, + int quantity, float price) { + this.id = id; + this.name = name; + this.brand= brand; + this.sport = sport; + this.size = size; + this.quantity = quantity; + this.price = price; + + } + public Sneakers(){ + + } + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getSport() { + return sport; + } + + public void setSport(String sport) { + this.sport = sport; + } + + public float getSize() { + return size; + } + + public void setSize(float size) { + this.size = size; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public float getPrice() { + return price; + } + + public void setPrice(float price) { + this.price = price; + } + @Override + public String toString(){ + return "Id: "+this.id + ", Name: "+ this.name +", Brand: "+this.brand +", Sport: "+ this.sport +", Size: "+ this.size+ + ", Quantity: "+ this.quantity+ ", Price: "+ this.price; + } +} + + diff --git a/src/main/java/Models/Whiskey.java b/src/main/java/Models/Whiskey.java new file mode 100644 index 0000000..b805896 --- /dev/null +++ b/src/main/java/Models/Whiskey.java @@ -0,0 +1,55 @@ +package Models; + +public class Whiskey { + private int id; + private int quantity; + private float price; + private String brand; + + public Whiskey(int id, String brand, int quantity, float price) { + this.id = id; + this.brand = brand; + this.quantity = quantity; + this.price = price; + } + public Whiskey(){ + + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public float getPrice() { + return price; + } + + public void setPrice(float price) { + this.price = price; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + @Override + public String toString(){ + return "Id: "+this.id +", Brand: "+this.brand + ", Quantity: "+ this.quantity+ ", Price: "+ this.price; + } + +} diff --git a/src/main/java/Services/SneakersService.java b/src/main/java/Services/SneakersService.java new file mode 100644 index 0000000..4bc4079 --- /dev/null +++ b/src/main/java/Services/SneakersService.java @@ -0,0 +1,123 @@ +package Services; + +import Models.Sneakers; +import Utils.CSVUtils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; + +import java.io.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class SneakersService { + + private static int nextId = 1; + + private List inventory = new ArrayList<>(); + + public Sneakers create(String name, String brand, String sport, + float size, int quantity, float price) { + + Sneakers createdSneaker = new Sneakers(nextId++, name, brand, sport, size, quantity, price); + inventory.add(createdSneaker); + return createdSneaker; + } + + public List getInventory() { + return inventory; + } + public Sneakers findSneaker(int id){ + for(Sneakers s : inventory){ + if(s.getId().equals(id)){ + return s; + } + } + return null; + } + public Sneakers[] findAll() { + // should return a basic array copy of the ArrayList + Sneakers[] array = new Sneakers[inventory.size()]; + return inventory.toArray(array); + } + public boolean delete(int id) { + // should remove the object with this id from the ArrayList if exits and return true. + // Otherwise, return false + for (int i =0;i(Arrays.asList(String.valueOf(nextId)))); +// +// for (Sneakers s : inventory) { +// List list = new ArrayList<>(); +// list.add(String.valueOf(s.getId())); +// list.add(s.getName()); +// list.add(s.getBrand()); +// list.add(s.getSport()); +// list.add(String.valueOf(s.getSize())); +// list.add(String.valueOf(s.getQuantity())); +// list.add(String.valueOf(s.getPrice())); +// +// CSVUtils.writeLine(writer, list); +// } +// +// writer.flush(); +// writer.close(); + } + public void loadData() throws IOException { + String jsonFile = "/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Sneakers.json"; + ObjectMapper objectMapper = new ObjectMapper(); + this.inventory = objectMapper.readValue(new File(jsonFile), new TypeReference>(){}); + this.nextId = inventory.size()+1; +// String line = ""; +// String csvSplitBy = ","; +// +// try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) { +// nextId = Integer.parseInt(br.readLine()); +// +// while ((line = br.readLine()) != null) { +// // split line with comma +// String[] beer = line.split(csvSplitBy); +// +// int id = Integer.parseInt(beer[0]); +// String name = beer[1]; +// String brand = beer[2]; +// String sport = beer[3]; +// float size = Float.parseFloat(beer[4]); +// int quantity = Integer.parseInt(beer[5]); +// float price = Float.parseFloat(beer[6]); +// +// inventory.add(new Sneakers(id, name, brand, sport, size, quantity, price)); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } + + } + + +} diff --git a/src/main/java/Services/WhiskeyService.java b/src/main/java/Services/WhiskeyService.java new file mode 100644 index 0000000..f9a3b3a --- /dev/null +++ b/src/main/java/Services/WhiskeyService.java @@ -0,0 +1,117 @@ +package Services; +import Models.Sneakers; +import Models.Whiskey; +import Utils.CSVUtils; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; + +import java.io.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class WhiskeyService { + private static int nextId = 1; + private List WhiskyInventory = new ArrayList<>(); + + public Whiskey create(String brand, int quantity, float price) { + Whiskey createdWhiskey = new Whiskey(nextId++, brand, quantity, price); + WhiskyInventory.add(createdWhiskey); + return createdWhiskey; + } + + public List getWhiskyInventory() { + return WhiskyInventory; + } + + public Whiskey findWhiskey(int id){ + for(Whiskey w : WhiskyInventory){ + if(w.getId() == id){ + return w; + } + } + return null; + } + public Whiskey[] findAll() { + // should return a basic array copy of the ArrayList + Whiskey[] array = new Whiskey[WhiskyInventory.size()]; + return WhiskyInventory.toArray(array); + } + public boolean delete(int id) { + // should remove the object with this id from the ArrayList if exits and return true. + // Otherwise, return false + for (int i =0;i(Arrays.asList(String.valueOf(nextId)))); +// +// for (Whiskey w : WhiskyInventory) { +// List list = new ArrayList<>(); +// list.add(String.valueOf(w.getId())); +// list.add(w.getBrand()); +// list.add(String.valueOf(w.getQuantity())); +// list.add(String.valueOf(w.getPrice())); +// +// CSVUtils.writeLine(writer, list); +// } +// +// writer.flush(); +// writer.close(); +// } + + public void loadData() throws IOException { + String jsonFile = "/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Whiskey.json"; + ObjectMapper objectMapper = new ObjectMapper(); + this.WhiskyInventory = objectMapper.readValue(new File(jsonFile), new TypeReference>(){}); + this.nextId = WhiskyInventory.size()+1; + + } +// String csvFile = "/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Whiskey.csv"; +// String line = ""; +// String csvSplitBy = ","; +// +// try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) { +// nextId = Integer.parseInt(br.readLine()); +// +// while ((line = br.readLine()) != null) { +// // split line with comma +// String[] beer = line.split(csvSplitBy); +// +// int id = Integer.parseInt(beer[0]); +// String brand = beer[1]; +// int quantity = Integer.parseInt(beer[2]); +// float price = Float.parseFloat(beer[3]); +// +// WhiskyInventory.add(new Whiskey(id, brand, quantity, price)); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +} diff --git a/src/main/java/Utils/CSVUtils.java b/src/main/java/Utils/CSVUtils.java new file mode 100644 index 0000000..d68dac0 --- /dev/null +++ b/src/main/java/Utils/CSVUtils.java @@ -0,0 +1,26 @@ +package Utils; + +import java.io.IOException; +import java.io.Writer; +import java.util.List; + +public class CSVUtils { + private static final char DEFAULT_SEPARATOR = ','; // (1) + + public static void writeLine(Writer w, List values) throws IOException { + boolean first = true; + + StringBuilder sb = new StringBuilder(); + + for (String value : values) { + if (!first) { + sb.append(DEFAULT_SEPARATOR); + } + sb.append(value); + first = false; + } + sb.append("\n"); + + w.append(sb.toString()); + } +} diff --git a/src/main/java/io/Application.java b/src/main/java/io/Application.java new file mode 100644 index 0000000..252b7ec --- /dev/null +++ b/src/main/java/io/Application.java @@ -0,0 +1,60 @@ +package io; + +import Services.SneakersService; +import Services.WhiskeyService; + +import java.io.IOException; +import java.util.Scanner; + +public class Application { + private SneakersService sneakerService = new SneakersService(); + private WhiskeyService whiskeyService = new WhiskeyService(); + public static void main(String args[]){ + Application application = new Application(); + try { + application.init(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private void init() throws IOException { + Console.printWelcome(); + while(true){ + Console.displayMainMenu(); + String action = Console.getActionFromUser(); + switch (action){ + case "Create": + Console.createProduct(sneakerService, whiskeyService); + break; + case "Read": + Console.readProduct(sneakerService, whiskeyService); + break; + case "Update": + Console.updateProduct(sneakerService, whiskeyService); + break; + case "Delete": + Console.deleteProduct(sneakerService, whiskeyService); + break; + case "Reports" : + Console.getTotalInventory(sneakerService,whiskeyService); + break; + case "Save" : + whiskeyService.saveData(); + sneakerService.saveData(); + break; + case "Load" : + sneakerService.loadData(); + whiskeyService.loadData(); + break; + default: + System.out.println("Wrong Input"); + break; + } + } + + } + + + } + diff --git a/src/main/java/io/Console.java b/src/main/java/io/Console.java new file mode 100644 index 0000000..2d8b764 --- /dev/null +++ b/src/main/java/io/Console.java @@ -0,0 +1,291 @@ +package io; + +import Models.Sneakers; +import Models.Whiskey; +import Services.SneakersService; +import Services.WhiskeyService; + +import java.util.Scanner; + +public class Console { + public static void printWelcome(){ + System.out.println("" + + "**************************************************\n" + + "*** Welcome ***\n" + + "*** to ***\n" + + "*** Diksha's Inventory ***\n" + + "**************************************************\n"); + } + public static void displayMainMenu(){ + System.out.println("Main Menu\n Choose between 1-8 \n"+"1. Create products to be added to inventory\n" + + "2. Read from existing products\n" + + "3. Update products\n" + + "4. Delete products\n" + + "5. Get different reports about products\n" + + "6. Save Data\n"+ + "7. Load Data\n"+ + "8. Exit the program"); + + } + public static String getActionFromUser() { + while (true) { + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + return "Create"; + case 2: + return "Read"; + case 3: + return "Update"; + case 4: + return "Delete"; + case 5: + return "Reports"; + case 6: + return "Save"; + case 7: + return "Load"; + case 8: + System.exit(0); + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + } + + + public static void createSneaker(SneakersService ss){ + Scanner sc = new Scanner(System.in); + System.out.println("Enter name:"); + String name = sc.nextLine(); + System.out.println("Enter brand:"); + String brand = sc.nextLine(); + System.out.println("Enter sport:"); + String sport = sc.nextLine(); + System.out.println("Enter size:"); + float size = sc.nextFloat(); + System.out.println("Enter quantity:"); + int quantity = sc.nextInt(); + System.out.println("Enter price:"); + float price = sc.nextFloat(); + ss.create(name, brand, sport, size, quantity, price); + + } + public static void updateSneaker(Sneakers s){ + Scanner sc = new Scanner(System.in); + System.out.println("Enter name:"); + String name = sc.nextLine(); + if(name!=null){ + s.setName(name); + } + System.out.println("Enter brand:"); + String brand = sc.nextLine(); + if(brand!=null){ + s.setBrand(brand); + } + System.out.println("Enter sport:"); + String sport = sc.nextLine(); + if(sport!=null){ + s.setSport(sport); + } + System.out.println("Enter size:"); + float size = sc.nextFloat(); + s.setSize(size); + System.out.println("Enter quantity:"); + int quantity = sc.nextInt(); + s.setQuantity(quantity); + System.out.println("Enter price:"); + float price = sc.nextFloat(); + s.setPrice(price); + + + } + + + public static void createWhiskey(WhiskeyService ws){ + Scanner sc = new Scanner(System.in); + System.out.println("Enter brand:"); + String brand = sc.nextLine(); + System.out.println("Enter quantity:"); + int quantity = sc.nextInt(); + System.out.println("Enter price:"); + float price = sc.nextFloat(); + ws.create(brand, quantity, price); + + } + public static void createProduct(SneakersService ss, WhiskeyService ws){ + while (true) { + System.out.println("Choose product you want to add by writing 1 or 2 \n"+ + "1. Sneakers\n2. Whiskey"); + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + createSneaker(ss); + return; + case 2: + createWhiskey(ws); + return; + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + } + + + public static void readProduct(SneakersService ss, WhiskeyService ws) { + while (true) { + System.out.println("Choose product you want to read by writing 1 or 2 \n"+ + "1. Sneakers\n2. Whiskey"); + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + readSneaker(ss); + return; + case 2: + readWhiskey(ws); + return; + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + } + + private static void readWhiskey(WhiskeyService ws) { + System.out.println(); + for (Whiskey whiskey : ws.getWhiskyInventory()) { + System.out.println(whiskey); + } + System.out.println(); + } + + private static void readSneaker(SneakersService ss) { + for (Sneakers sneakers : ss.getInventory()) { + System.out.println(sneakers.toString()); + } + System.out.println(); + } + public static void updateProduct(SneakersService ss, WhiskeyService ws) { + while (true) { + System.out.println("Choose product you want to update by writing 1 or 2 \n"+ + "1. Sneakers\n2. Whiskey"); + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + readSneaker(ss); + System.out.println("Choose id you want to update"); + int productId = sc.nextInt(); + Sneakers sneaker = ss.findSneaker(productId); + updateSneaker(sneaker); + return; + case 2: + readWhiskey(ws); + System.out.println("Choose id you want to update"); + int productId1 = sc.nextInt(); + Whiskey whiskey = ws.findWhiskey(productId1); + updateWhiskey(whiskey); + return; + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + } + + private static void updateWhiskey(Whiskey w) { + Scanner sc = new Scanner(System.in); + System.out.println("Enter brand:"); + String brand = sc.nextLine(); + if(brand!=null){ + w.setBrand(brand); + } + System.out.println("Enter quantity:"); + int quantity = sc.nextInt(); + w.setQuantity(quantity); + + System.out.println("Enter price:"); + float price = sc.nextFloat(); + w.setPrice(price); + + } + + public static void deleteProduct(SneakersService ss, WhiskeyService ws) { + while (true) { + System.out.println("Choose product you want to delete by writing 1 or 2 \n"+ + "1. Sneakers\n2. Whiskey"); + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + readSneaker(ss); + System.out.println("Choose id you want to delete"); + int productId = sc.nextInt(); + System.out.println("Item Deleted: "+ss.delete(productId)); + return; + case 2: + readWhiskey(ws); + System.out.println("Choose id you want to delete"); + int productId1 = sc.nextInt(); + System.out.println("Item Deleted: "+ws.delete(productId1)); + return; + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + + } + + public static void getTotalInventory(SneakersService ss, WhiskeyService ws) { + while (true) { + System.out.println("Choose product you want to get total inventory by writing 1 or 2 \n"+ + "1. Sneakers\n2. Whiskey"); + Scanner sc = new Scanner(System.in); + int userInput = sc.nextInt(); + + switch (userInput) { + case 1: + int totalInventory = 0; + for(Sneakers s : ss.getInventory()){ + totalInventory += s.getQuantity(); + } + System.out.println("Total sneakers in inventory is: "+totalInventory); + + return; + case 2: + int totalInventoryWhiskey = 0; + for(Whiskey w : ws.getWhiskyInventory()){ + totalInventoryWhiskey += w.getQuantity(); + } + System.out.println("Total whiskey in inventory is: "+ totalInventoryWhiskey); + return; + default: + System.out.println("Try Again\n"); + displayMainMenu(); + break; + + } + } + } +} diff --git a/src/test/java/Models/SneakerTest.java b/src/test/java/Models/SneakerTest.java new file mode 100644 index 0000000..1cbda8b --- /dev/null +++ b/src/test/java/Models/SneakerTest.java @@ -0,0 +1,103 @@ +package Models; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class SneakerTest { + @Test + public void ConstructorTest(){ + Integer expectedId = 6; + String expectedName = "Stan Smith"; + String expectedBrand = "Nike"; + String expectedSport = "Tennis"; + int expectedQuantity = 10; + float expectedSize = 8.5f; + float expectedPrice = 80.00f; + + Sneakers testSneakers = new Sneakers(expectedId, expectedName, expectedBrand, + expectedSport, expectedSize, expectedQuantity,expectedPrice); + + Assertions.assertEquals(expectedId, testSneakers.getId()); + Assertions.assertEquals(expectedName, testSneakers.getName()); + Assertions.assertEquals(expectedBrand, testSneakers.getBrand()); + Assertions.assertEquals(expectedSport, testSneakers.getSport()); + Assertions.assertEquals(expectedSize, testSneakers.getSize()); + Assertions.assertEquals(expectedQuantity, testSneakers.getQuantity()); + Assertions.assertEquals(expectedPrice, testSneakers.getPrice()); + } + @Test + public void SetNameTest(){ + //Given + String expected = "Stan Smith"; + //when + Sneakers testName = new Sneakers(6,"Stan Smith","Nike","Tennis",8.0f,10,80.00f); + testName.setName(expected); + //then + Assertions.assertEquals(expected,testName.getName()); + } + + @Test + public void SetIdTest(){ + //Given + int expected = 6; + //when + Sneakers testId = new Sneakers(6,"Stan Smith","Nike","Tennis", 8.0f,10,80.00f); + testId.setId(expected); + //then + Assertions.assertEquals(expected,testId.getId()); + } + + @Test + public void SetBrandTest(){ + //Given + String expected = "Nike"; + //when + Sneakers testBrand = new Sneakers(6,"Stan Smith","Nike","Tennis",8.0f, 10,80.00f); + testBrand.setBrand(expected); + //then + Assertions.assertEquals(expected,testBrand.getBrand()); + } + + @Test + public void SetSportTest(){ + //Given + String expected = "Soccer"; + //when + Sneakers testSport = new Sneakers(6,"Stan Smith","Nike","Tennis", 8.0f, 10,80.00f); + testSport.setSport(expected); + //then + Assertions.assertEquals(expected,testSport.getSport()); + } + @Test + public void SetSizeTest(){ + //Given + int expected = 9; + //when + Sneakers testSize = new Sneakers(6,"Stan Smith","Nike","Tennis", 8.0f,10,80.00f); + testSize.setSize(expected); + //then + Assertions.assertEquals(expected,testSize.getSize()); + } + @Test + public void SetQuantityTest(){ + //Given + int expected = 2; + //when + Sneakers testQnty = new Sneakers(6,"Stan Smith","Nike","Tennis", 8.0f, 10,80.00f); + testQnty.setQuantity(expected); + //then + Assertions.assertEquals(expected,testQnty.getQuantity()); + } + + @Test + public void SetPriceTest(){ + //Given + int expected = 200; + //when + Sneakers testPrice = new Sneakers(6,"Stan Smith","Nike","Tennis", 8.0f, 10,80.00f); + testPrice.setPrice(expected); + //then + Assertions.assertEquals(expected,testPrice.getPrice()); + } + +} diff --git a/src/test/java/Models/WhiskeyTest.java b/src/test/java/Models/WhiskeyTest.java new file mode 100644 index 0000000..bc98766 --- /dev/null +++ b/src/test/java/Models/WhiskeyTest.java @@ -0,0 +1,62 @@ +package Models; + +import Utils.CSVUtils; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class WhiskeyTest { + + @Test + public void TestConstructor(){ + int expectedId = 1; + String expectedBrand = "Crown Royal Canadian"; + int expectedQuantity = 10; + float expectedPrice = 580.00f; + + Whiskey testWhiskey = new Whiskey(expectedId, expectedBrand, expectedQuantity,expectedPrice); + Assertions.assertEquals(expectedId, testWhiskey.getId()); + Assertions.assertEquals(expectedBrand, testWhiskey.getBrand()); + Assertions.assertEquals(expectedQuantity, testWhiskey.getQuantity()); + Assertions.assertEquals(expectedPrice, testWhiskey.getPrice()); + + } + @Test + public void SetBrandTest(){ + //Given + String expected = "Crown Royal Canadian"; + //when + Whiskey testBrand = new Whiskey(1,"Crown Royal Canadian",0,0); + testBrand.setBrand(expected); + //then + Assertions.assertEquals(expected,testBrand.getBrand()); + } + + @Test + public void SetQuantityTest(){ + //Given + int expected = 2; + //when + Whiskey testQnty = new Whiskey(1,"Crown Royal Canadian",20,0); + testQnty.setQuantity(expected); + //then + Assertions.assertEquals(expected,testQnty.getQuantity()); + } + @Test + public void SetPriceTest(){ + //Given + int expected = 200; + //when + Whiskey testPrice = new Whiskey(1,"Crown Royal Canadian",0,580.00f); + testPrice.setPrice(expected); + //then + Assertions.assertEquals(expected,testPrice.getPrice()); + } + + +} diff --git a/src/test/java/Services/SneakerServiceTest.java b/src/test/java/Services/SneakerServiceTest.java new file mode 100644 index 0000000..5a0544f --- /dev/null +++ b/src/test/java/Services/SneakerServiceTest.java @@ -0,0 +1,38 @@ +package Services; + +import Models.Sneakers; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class SneakerServiceTest { + + @Test + public void ServiceTest(){ + String expectedName = "Stan Smith"; + String expectedBrand = "Adidas"; + String expectedSport = "Tennis"; + float expectedSize = 10.5f; + int expectedQuantity = 10; + float expectedPrice = 80.00f; + + SneakersService sneakerService = new SneakersService(); + Sneakers testSneakers = sneakerService.create(expectedName, expectedBrand, + expectedSport, expectedSize, expectedQuantity, expectedPrice); + + int actualId = testSneakers.getId(); + String actualName = testSneakers.getName(); + String actualBrand = testSneakers.getBrand(); + String actualSport = testSneakers.getSport(); + float actualSize = testSneakers.getSize(); + int actualQty = testSneakers.getQuantity(); + float actualPrice = testSneakers.getPrice(); + + Assertions.assertEquals(Integer.class.getName(), new Integer(actualId).getClass().getName()); + Assertions.assertEquals(expectedName, actualName); + Assertions.assertEquals(expectedBrand, actualBrand); + Assertions.assertEquals(expectedSport, actualSport); + Assertions.assertEquals(expectedSize, actualSize); + Assertions.assertEquals(expectedQuantity, actualQty); + Assertions.assertEquals(expectedPrice, actualPrice); + } +} diff --git a/src/test/java/Services/WhiskeyServiceTest.java b/src/test/java/Services/WhiskeyServiceTest.java new file mode 100644 index 0000000..9281cb6 --- /dev/null +++ b/src/test/java/Services/WhiskeyServiceTest.java @@ -0,0 +1,30 @@ +package Services; + +import Models.Sneakers; +import Models.Whiskey; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class WhiskeyServiceTest { + + @Test + public void ServiceTest(){ + String expectedBrand = "Adidas"; + int expectedQuantity = 10; + float expectedPrice = 580.00f; + + WhiskeyService whiskeyService = new WhiskeyService(); + Whiskey testWhiskey = whiskeyService.create(expectedBrand, expectedQuantity, expectedPrice); + + + int actualId = testWhiskey.getId(); + String actualBrand = testWhiskey.getBrand(); + int actualQty = testWhiskey.getQuantity(); + float actualPrice = testWhiskey.getPrice(); + + Assertions.assertEquals(Integer.class.getName(), new Integer(actualId).getClass().getName()); + Assertions.assertEquals(expectedBrand, actualBrand); + Assertions.assertEquals(expectedQuantity, actualQty); + Assertions.assertEquals(expectedPrice, actualPrice); + } +}