From 0ba0a692c96c201c786d356ea4413cd3ba6b279a Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Mon, 26 Feb 2018 15:44:18 -0500 Subject: [PATCH 1/6] package created --- src/main/java/io/zipcoder/Application.java | 40 +++++++++++++++++++ src/main/java/io/zipcoder/pets/Cat.java | 4 ++ src/main/java/io/zipcoder/pets/Dog.java | 9 +++++ src/main/java/io/zipcoder/pets/Otter.java | 9 +++++ src/main/java/io/zipcoder/pets/Pet.java | 11 +++++ .../java/io/zipcoder/pets/PetInventory.java | 30 ++++++++++++++ 6 files changed, 103 insertions(+) create mode 100644 src/main/java/io/zipcoder/pets/Cat.java create mode 100644 src/main/java/io/zipcoder/pets/Dog.java create mode 100644 src/main/java/io/zipcoder/pets/Otter.java create mode 100644 src/main/java/io/zipcoder/pets/Pet.java create mode 100644 src/main/java/io/zipcoder/pets/PetInventory.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 3a257cb..f7fedb0 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,5 +1,45 @@ package io.zipcoder; +import java.util.Scanner; + public class Application { + + public static Scanner scan = new Scanner(System.in); + Integer numberOfPets; + String petName; + String petType; + + + + public static void main(String[] args) { + Application app = new Application(); + System.out.println("Hey Mr. Green Maker how many pets do you have?"); + app.numberOfPets = scan.nextInt(); + scan.nextLine(); + System.out.println(""); + + } + public String getPetName(){ + return null; + } + public String getPetType(){ + return null; + } + public int getNumberOfPets(){ + return 0; + } + + public void setPetName(String name){ + this.petName=name; + } + public void setPetType(String type){ + this.petType=type; + } + public void setNumberOfPets(int numberOfPets){ + this.numberOfPets= numberOfPets; + } + + + } diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java new file mode 100644 index 0000000..2146c52 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class Cat { +} diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java new file mode 100644 index 0000000..41be5fb --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -0,0 +1,9 @@ +package io.zipcoder.pets; + +public class Dog extends Pet { + private String name; + + public String speak(){ + return null; + } +} diff --git a/src/main/java/io/zipcoder/pets/Otter.java b/src/main/java/io/zipcoder/pets/Otter.java new file mode 100644 index 0000000..8e1a4c8 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Otter.java @@ -0,0 +1,9 @@ +package io.zipcoder.pets; + +public class Otter { + private String name; + + public String speak(){ + return null; + } +} diff --git a/src/main/java/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/pets/Pet.java new file mode 100644 index 0000000..2e09fb7 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Pet.java @@ -0,0 +1,11 @@ +package io.zipcoder.pets; + +public class Pet { + + private String name; + + public String speak(){ + return null; + } + +} diff --git a/src/main/java/io/zipcoder/pets/PetInventory.java b/src/main/java/io/zipcoder/pets/PetInventory.java new file mode 100644 index 0000000..5399a73 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/PetInventory.java @@ -0,0 +1,30 @@ +package io.zipcoder.pets; + +import java.util.ArrayList; +import java.util.Map; + +public class PetInventory { + + public Mappets; + + + public void addPet(String type, String name){ + + } + public void removePet(){ + + } + public String listPets(){ + return null; + } + public String getPetType(String name){ + return null; + } + public ArrayList lookUpByType(String type){ + return null; + } + public Pet getPet(String petType){ + return null; + } + +} From 5fc79e960388a8cb9d2275d6a25060dc6aee1ecc Mon Sep 17 00:00:00 2001 From: Vincent Gasbarro Date: Mon, 26 Feb 2018 20:24:18 -0500 Subject: [PATCH 2/6] tests for Kibret --- src/main/java/io/zipcoder/Application.java | 22 ++-- src/main/java/io/zipcoder/PetInventory.java | 43 ++++++ src/main/java/io/zipcoder/pets/Cat.java | 20 ++- src/main/java/io/zipcoder/pets/Dog.java | 15 ++- src/main/java/io/zipcoder/pets/Otter.java | 18 ++- src/main/java/io/zipcoder/pets/Pet.java | 23 +++- .../java/io/zipcoder/pets/PetBehavior.java | 7 + .../java/io/zipcoder/pets/PetInventory.java | 30 ----- .../java/io/zipcoder/ApplicationTest.java | 31 +++++ .../java/io/zipcoder/PetInventoryTest.java | 122 ++++++++++++++++++ .../java/io/zipcoder/petsTest/CatTest.java | 39 ++++++ .../java/io/zipcoder/petsTest/DogTest.java | 39 ++++++ .../java/io/zipcoder/petsTest/OtterTest.java | 38 ++++++ 13 files changed, 403 insertions(+), 44 deletions(-) create mode 100644 src/main/java/io/zipcoder/PetInventory.java create mode 100644 src/main/java/io/zipcoder/pets/PetBehavior.java delete mode 100644 src/main/java/io/zipcoder/pets/PetInventory.java create mode 100644 src/test/java/io/zipcoder/PetInventoryTest.java create mode 100644 src/test/java/io/zipcoder/petsTest/CatTest.java create mode 100644 src/test/java/io/zipcoder/petsTest/DogTest.java create mode 100644 src/test/java/io/zipcoder/petsTest/OtterTest.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index f7fedb0..4c3f483 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -6,26 +6,28 @@ public class Application { public static Scanner scan = new Scanner(System.in); - Integer numberOfPets; - String petName; - String petType; - + private Integer numberOfPets; + private String petName; + private String petType; public static void main(String[] args) { - Application app = new Application(); - System.out.println("Hey Mr. Green Maker how many pets do you have?"); - app.numberOfPets = scan.nextInt(); - scan.nextLine(); - System.out.println(""); +// Application app = new Application(); +// System.out.println("Hey Mr. Green Maker how many pets do you have?"); +// app.numberOfPets = scan.nextInt(); +// scan.nextLine(); +// System.out.println(""); } + public String getPetName(){ return null; } + public String getPetType(){ return null; } + public int getNumberOfPets(){ return 0; } @@ -33,9 +35,11 @@ public int getNumberOfPets(){ public void setPetName(String name){ this.petName=name; } + public void setPetType(String type){ this.petType=type; } + public void setNumberOfPets(int numberOfPets){ this.numberOfPets= numberOfPets; } diff --git a/src/main/java/io/zipcoder/PetInventory.java b/src/main/java/io/zipcoder/PetInventory.java new file mode 100644 index 0000000..3463c30 --- /dev/null +++ b/src/main/java/io/zipcoder/PetInventory.java @@ -0,0 +1,43 @@ +package io.zipcoder; + +import io.zipcoder.pets.Pet; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class PetInventory { + + protected HashMap> pets; + + public PetInventory() { + pets = new HashMap>(); + + } + + public void addPet(String type, String name){ + + } + + public void removePet(String petName){ + + } + + public String listPets(){ + return "pet names and speak"; + } + + public String getPetType(String name){ + return "pet type"; + } + + public ArrayList listOfPetsByName(){ + return null; + } + + public ArrayList listOfPetsByType(){ + return null; + } + + +} diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java index 2146c52..f9abee2 100644 --- a/src/main/java/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -1,4 +1,22 @@ package io.zipcoder.pets; -public class Cat { +public class Cat extends Pet { + + private String name; + + public Cat (String catName) { + this.name = catName; + } + + public String speak(){ + return "Meow"; + } + + public String getName() { + return this.name; + } + + public void setName(String catName) { + this.name = catName; + } } diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index 41be5fb..f3ea1a9 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -3,7 +3,20 @@ public class Dog extends Pet { private String name; + public Dog(String dogName) { + this.name = dogName; + } + public String speak(){ - return null; + return "Woof"; + } + + public String getName() { + return this.name; } + + public void setName(String aDogName) { + this.name = aDogName; + } + } diff --git a/src/main/java/io/zipcoder/pets/Otter.java b/src/main/java/io/zipcoder/pets/Otter.java index 8e1a4c8..b4a8884 100644 --- a/src/main/java/io/zipcoder/pets/Otter.java +++ b/src/main/java/io/zipcoder/pets/Otter.java @@ -1,9 +1,23 @@ package io.zipcoder.pets; -public class Otter { +public class Otter extends Pet { private String name; + public Otter(String otterName) { + this.name = otterName; + } + public String speak(){ - return null; + return "Muahaha"; + } + + public String getName() { + return this.name; } + + public void setName(String anOtterName) { + this.name = anOtterName; + + } + } diff --git a/src/main/java/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/pets/Pet.java index 2e09fb7..57aa467 100644 --- a/src/main/java/io/zipcoder/pets/Pet.java +++ b/src/main/java/io/zipcoder/pets/Pet.java @@ -1,6 +1,6 @@ package io.zipcoder.pets; -public class Pet { +abstract public class Pet implements PetBehavior, Comparable{ private String name; @@ -8,4 +8,25 @@ public String speak(){ return null; } + public String getName() { + return null; + } + + public void setName(String aPetName) { + + } + + public int compareTo(Pet anyPet) { + + if (getName().compareTo(anyPet.getName()) > 0) { + return 1; + } else if (getName().compareTo(anyPet.getName()) < 0) { + return -1; + } else { + return getClass().getSimpleName().compareTo(anyPet.getClass().getSimpleName()); + } + } + + + } diff --git a/src/main/java/io/zipcoder/pets/PetBehavior.java b/src/main/java/io/zipcoder/pets/PetBehavior.java new file mode 100644 index 0000000..e95cc10 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/PetBehavior.java @@ -0,0 +1,7 @@ +package io.zipcoder.pets; + +public interface PetBehavior { + + public String speak(); + +} diff --git a/src/main/java/io/zipcoder/pets/PetInventory.java b/src/main/java/io/zipcoder/pets/PetInventory.java deleted file mode 100644 index 5399a73..0000000 --- a/src/main/java/io/zipcoder/pets/PetInventory.java +++ /dev/null @@ -1,30 +0,0 @@ -package io.zipcoder.pets; - -import java.util.ArrayList; -import java.util.Map; - -public class PetInventory { - - public Mappets; - - - public void addPet(String type, String name){ - - } - public void removePet(){ - - } - public String listPets(){ - return null; - } - public String getPetType(String name){ - return null; - } - public ArrayList lookUpByType(String type){ - return null; - } - public Pet getPet(String petType){ - return null; - } - -} diff --git a/src/test/java/io/zipcoder/ApplicationTest.java b/src/test/java/io/zipcoder/ApplicationTest.java index b744df5..62b7e7d 100644 --- a/src/test/java/io/zipcoder/ApplicationTest.java +++ b/src/test/java/io/zipcoder/ApplicationTest.java @@ -1,5 +1,36 @@ package io.zipcoder; +import org.junit.Before; +import org.junit.Test; + public class ApplicationTest { + + Application testApp; + + + @Before + public void setup() { + testApp = new Application(); + } + + @Test + public void getPetNameTest() { + + + } + + @Test + public void getPetTypeTest() { + + } + + @Test + public void getNumberOfPetsTest() { + + } + + + + } diff --git a/src/test/java/io/zipcoder/PetInventoryTest.java b/src/test/java/io/zipcoder/PetInventoryTest.java new file mode 100644 index 0000000..dfb1ea1 --- /dev/null +++ b/src/test/java/io/zipcoder/PetInventoryTest.java @@ -0,0 +1,122 @@ +package io.zipcoder; + +import io.zipcoder.pets.Cat; +import io.zipcoder.pets.Dog; +import io.zipcoder.pets.Otter; +import io.zipcoder.pets.Pet; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; + +public class PetInventoryTest { + + PetInventory testInventory; + + + @Before + public void setup() { + testInventory = new PetInventory(); + } + + + @Test + public void addPetTest1() { + String petType = "cat"; + Cat testCat = new Cat("Winston"); + ArrayList testList = new ArrayList(); + testList.add(testCat); + testInventory.addPet(petType, testCat.getName()); + String expected = "Winston"; + String actual = testInventory.pets.get(petType).get(0).getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void removePetTest() { + String petType = "dog"; + ArrayList testList = new ArrayList(); + Dog marky = new Dog("Marky"); + Dog ricky = new Dog("Ricky"); + testList.add(marky); + testList.add(ricky); + testInventory.pets.put(petType, testList); + testInventory.removePet("Marky"); + String expected = "Ricky"; + String actual = testInventory.pets.get(petType).get(0).getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void listPetsTest() { + String petType1 = "otter"; + Otter testOtter = new Otter("Oliver"); + ArrayList otterList = new ArrayList(); + otterList.add(testOtter); + String petType2 = "dog"; + Dog testDog = new Dog("Dasher"); + ArrayList dogList = new ArrayList(); + dogList.add(testDog); + testInventory.pets.put(petType1, otterList); + testInventory.pets.put(petType2, dogList); + String actual = testInventory.listPets(); + String expected = "Oliver says Muahaha\nDasher says Woof!"; + Assert.assertEquals(expected, actual); + } + + @Test + public void getPetTypeTest() { + String petType = "dog"; + ArrayList testList = new ArrayList(); + Dog marky = new Dog("Marky"); + Dog ricky = new Dog("Ricky"); + testList.add(marky); + testList.add(ricky); + testInventory.pets.put(petType, testList); + String expected = "dog"; + String actual = testInventory.getPetType("Ricky"); + Assert.assertEquals(expected, actual); + } + + @Test + public void listOfPetsByNameTest() { + ArrayList testList = new ArrayList(); + Dog ricky = new Dog("Ricky"); + Dog marky = new Dog("Marky"); + testList.add(ricky); + testList.add(marky); + testInventory.pets.put("dog", testList); + ArrayList expected = new ArrayList(); + expected.add("Marky"); + expected.add("Ricky"); + ArrayList actual = testInventory.listOfPetsByName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void listOfPetsByTypeTest() { + ArrayList testList1 = new ArrayList(); + Dog ricky = new Dog("Ricky"); + Dog marky = new Dog("Marky"); + testList1.add(ricky); + testList1.add(marky); + testInventory.pets.put("dog", testList1); + ArrayList testList2 = new ArrayList(); + Otter oliver = new Otter("Oliver"); + testList2.add(oliver); + testInventory.pets.put("otter", testList2); + ArrayList testList3 = new ArrayList(); + Cat zeus = new Cat("Zeus"); + testList3.add(zeus); + testInventory.pets.put("charlie", testList3); + ArrayList expected = new ArrayList(); + expected.add("Zeus"); + expected.add("Marky"); + expected.add("Ricky"); + expected.add("Oliver"); + ArrayList actual = testInventory.listOfPetsByType(); + Assert.assertEquals(expected, actual); + } + +} diff --git a/src/test/java/io/zipcoder/petsTest/CatTest.java b/src/test/java/io/zipcoder/petsTest/CatTest.java new file mode 100644 index 0000000..5e1e9d6 --- /dev/null +++ b/src/test/java/io/zipcoder/petsTest/CatTest.java @@ -0,0 +1,39 @@ +package io.zipcoder.petsTest; + +import io.zipcoder.pets.Cat; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class CatTest { + + Cat testCat; + + @Before + public void setup() { + testCat = new Cat("Walter"); + } + + @Test + public void speakTest() { + String expected = "Meow"; + String actual = testCat.speak(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getNameTest() { + String expected = "Walter"; + String actual = testCat.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void setNameTest() { + String expected = "Winston"; + testCat.setName("Winston"); + String actual = testCat.getName(); + Assert.assertEquals(expected, actual); + } + +} diff --git a/src/test/java/io/zipcoder/petsTest/DogTest.java b/src/test/java/io/zipcoder/petsTest/DogTest.java new file mode 100644 index 0000000..d45beb9 --- /dev/null +++ b/src/test/java/io/zipcoder/petsTest/DogTest.java @@ -0,0 +1,39 @@ +package io.zipcoder.petsTest; + +import io.zipcoder.pets.Dog; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class DogTest { + Dog testDog; + + @Before + public void setup() { + testDog = new Dog("Walter"); + } + + @Test + public void speakTest() { + String expected = "Woof"; + String actual = testDog.speak(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getNameTest() { + String expected = "Walter"; + String actual = testDog.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void setNameTest() { + String expected = "Arnold"; + testDog.setName("Arnold"); + String actual = testDog.getName(); + Assert.assertEquals(expected, actual); + } + + +} diff --git a/src/test/java/io/zipcoder/petsTest/OtterTest.java b/src/test/java/io/zipcoder/petsTest/OtterTest.java new file mode 100644 index 0000000..d045182 --- /dev/null +++ b/src/test/java/io/zipcoder/petsTest/OtterTest.java @@ -0,0 +1,38 @@ +package io.zipcoder.petsTest; + +import io.zipcoder.pets.Otter; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class OtterTest { + + Otter testOtter; + + @Before + public void setup() { + testOtter = new Otter("Oliver"); + } + + @Test + public void speakTest() { + String expected = "Muahaha"; + String actual = testOtter.speak(); + Assert.assertEquals(expected, actual); + } + + @Test + public void getNameTest() { + String expected = "Oliver"; + String actual = testOtter.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void setNameTest() { + String expected = "Ortleib"; + testOtter.setName("Ortleib"); + String actual = testOtter.getName(); + Assert.assertEquals(expected, actual); + } +} From aaf6562a5403a95a167c4320fb7013e69ce52be1 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Mon, 26 Feb 2018 23:44:24 -0500 Subject: [PATCH 3/6] pushing for the night --- src/main/java/io/zipcoder/PetInventory.java | 99 +++++++++++++++++-- src/main/java/io/zipcoder/pets/Dog.java | 2 +- .../java/io/zipcoder/PetInventoryTest.java | 7 +- 3 files changed, 95 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/zipcoder/PetInventory.java b/src/main/java/io/zipcoder/PetInventory.java index 3463c30..4292aad 100644 --- a/src/main/java/io/zipcoder/PetInventory.java +++ b/src/main/java/io/zipcoder/PetInventory.java @@ -1,10 +1,11 @@ package io.zipcoder; +import io.zipcoder.pets.Cat; +import io.zipcoder.pets.Dog; +import io.zipcoder.pets.Otter; import io.zipcoder.pets.Pet; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; +import java.util.*; public class PetInventory { @@ -16,28 +17,108 @@ public PetInventory() { } public void addPet(String type, String name){ +// if(hasEntry(type)){ +// if(type.equalsIgnoreCase("cat")){ +// Cat aCat =new Cat(name); +// getArrayListForPets(type).add(aCat); +// }else if(type.equalsIgnoreCase("dog")){ +// Dog aDog = new Dog(name); +// getArrayListForPets(type).add(aDog); +// +// }else if(type.equalsIgnoreCase("otter")){ +// Otter anOtter = new Otter(name); +// getArrayListForPets(type).add(anOtter); +// +// } +// +// }else { +// if(type.equalsIgnoreCase("cat")){ +// ArrayListcats = new ArrayList(); +// Cat aCat =new Cat(name); +// cats.add(aCat); +// }else if(type.equalsIgnoreCase("dog")){ +// ArrayListdogs = new ArrayList(); +// Dog aDog = new Dog(name); +// dogs.add(aDog); +// +// }else if(type.equalsIgnoreCase("otter")){ +// ArrayListotters = new ArrayList(); +// Otter anOtter = new Otter(name); +// otters.add(anOtter); +// +// } +// +// } + } public void removePet(String petName){ + for (Map.Entry> entry : pets.entrySet()) { + for (int i = 0; i < pets.entrySet().size(); i++) + if (entry.getValue().get(i).getName().equalsIgnoreCase(petName)) { + entry.getValue().remove(i); + } + } + } public String listPets(){ - return "pet names and speak"; + StringBuilder builder = new StringBuilder(); + for (Map.Entry> entry : pets.entrySet()) { + for (int i = 0; i < pets.entrySet().size()-1; i++){ + builder.append(entry.getValue().get(i).getName()+ " says " + entry.getValue().get(i).speak() + "\n"); + + } + } + + return builder.toString(); } public String getPetType(String name){ - return "pet type"; + for (String keys : pets.keySet()) { + for (int i = 0; i < getArrayListForPets(keys).size(); i++) { + if (getArrayListForPets(keys).get(i).getName().equalsIgnoreCase(name)) + return keys; + } + } + return null; + } - public ArrayList listOfPetsByName(){ - return null; + public ArrayList listOfPetsByName() { + ArrayList petNames = new ArrayList(); + for (Map.Entry> entry : pets.entrySet()) { + for (int i = 0; i < pets.entrySet().size()+1; i++) { + petNames.add(entry.getValue().get(i).getName()); + } + } + return petNames; } - public ArrayList listOfPetsByType(){ - return null; + public ArrayList listOfPetsByTypeSorted(){ + ArrayList petNames = new ArrayList(); + for (Map.Entry> entry : pets.entrySet()) { + for (int i = 0; i < pets.entrySet().size(); i++) { + petNames.add(entry.getValue().get(i).getName()); + } + + } + + return petNames; } + public boolean hasEntry(String petType){ + if(pets.containsKey(petType)){ + return true; + } + return false; + } + public ArrayList getArrayListForPets(String petType){ + return pets.get(petType); + } + + } diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index f3ea1a9..55b0be3 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -8,7 +8,7 @@ public Dog(String dogName) { } public String speak(){ - return "Woof"; + return "Woof!"; } public String getName() { diff --git a/src/test/java/io/zipcoder/PetInventoryTest.java b/src/test/java/io/zipcoder/PetInventoryTest.java index dfb1ea1..612c923 100644 --- a/src/test/java/io/zipcoder/PetInventoryTest.java +++ b/src/test/java/io/zipcoder/PetInventoryTest.java @@ -61,7 +61,7 @@ public void listPetsTest() { testInventory.pets.put(petType1, otterList); testInventory.pets.put(petType2, dogList); String actual = testInventory.listPets(); - String expected = "Oliver says Muahaha\nDasher says Woof!"; + String expected = "Dasher says Woof!\nOliver says Muahaha\n"; Assert.assertEquals(expected, actual); } @@ -88,8 +88,9 @@ public void listOfPetsByNameTest() { testList.add(marky); testInventory.pets.put("dog", testList); ArrayList expected = new ArrayList(); - expected.add("Marky"); expected.add("Ricky"); + expected.add("Marky"); + ArrayList actual = testInventory.listOfPetsByName(); Assert.assertEquals(expected, actual); } @@ -115,7 +116,7 @@ public void listOfPetsByTypeTest() { expected.add("Marky"); expected.add("Ricky"); expected.add("Oliver"); - ArrayList actual = testInventory.listOfPetsByType(); + ArrayList actual = testInventory.listOfPetsByTypeSorted(); Assert.assertEquals(expected, actual); } From f87d9f5ae3f666f0e47a49486494b692510f5bf2 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 27 Feb 2018 14:37:37 -0500 Subject: [PATCH 4/6] working on the last Part --- src/main/java/io/zipcoder/Application.java | 55 ++++++------ src/main/java/io/zipcoder/PetInventory.java | 83 ++++++++++++------- src/main/java/io/zipcoder/pets/Pet.java | 4 +- .../java/io/zipcoder/PetInventoryTest.java | 6 +- 4 files changed, 83 insertions(+), 65 deletions(-) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 4c3f483..6d4ab12 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -6,44 +6,41 @@ public class Application { public static Scanner scan = new Scanner(System.in); + public String input=""; private Integer numberOfPets; private String petName; private String petType; - + PetInventory inventory = new PetInventory(); public static void main(String[] args) { -// Application app = new Application(); -// System.out.println("Hey Mr. Green Maker how many pets do you have?"); -// app.numberOfPets = scan.nextInt(); -// scan.nextLine(); -// System.out.println(""); - - } - - public String getPetName(){ - return null; - } - - public String getPetType(){ - return null; + Application app = new Application(); + System.out.println("Hey Mr. Green Maker how many pets do you have?"); + app.numberOfPets = scan.nextInt(); + scan.nextLine(); + //app.setTotalNumberOfPets(nu); + app.PetApplicatio(); } - - public int getNumberOfPets(){ - return 0; - } - - public void setPetName(String name){ - this.petName=name; + public void setTotalNumberOfPets(int numberOfPets){ + this.numberOfPets = numberOfPets; } - - public void setPetType(String type){ - this.petType=type; + public int getTotalNumberOfPets(){ + return numberOfPets; } - - public void setNumberOfPets(int numberOfPets){ - this.numberOfPets= numberOfPets; + public void PetApplicatio(){ + + PetInventory inventory = new PetInventory(); + for(int i =0;icats = new ArrayList(); -// Cat aCat =new Cat(name); -// cats.add(aCat); -// }else if(type.equalsIgnoreCase("dog")){ -// ArrayListdogs = new ArrayList(); -// Dog aDog = new Dog(name); -// dogs.add(aDog); -// -// }else if(type.equalsIgnoreCase("otter")){ -// ArrayListotters = new ArrayList(); -// Otter anOtter = new Otter(name); -// otters.add(anOtter); -// -// } -// -// } + if(hasEntry(type)){ + if(type.equalsIgnoreCase("cat")){ + Cat aCat =new Cat(name); + getArrayListForPets("Cat").add(aCat); + pets.put("Cat",getArrayListForPets("Cat")); + }else if(type.equalsIgnoreCase("dog")){ + Dog aDog = new Dog(name); + getArrayListForPets(type).add(aDog); + pets.put("Dog",getArrayListForPets("Dog")); + }else if(type.equalsIgnoreCase("otter")){ + Otter anOtter = new Otter(name); + getArrayListForPets("Otter").add(anOtter); + pets.put("Otter",getArrayListForPets("Otter")); + } + + }else { + if(type.equalsIgnoreCase("cat")){ + ArrayListcats = new ArrayList(); + Cat aCat =new Cat(name); + cats.add(aCat); + pets.put("Cat",cats); + }else if(type.equalsIgnoreCase("dog")){ + ArrayListdogs = new ArrayList(); + Dog aDog = new Dog(name); + dogs.add(aDog); + pets.put("Dog",dogs); + }else if(type.equalsIgnoreCase("otter")){ + ArrayListotters = new ArrayList(); + Otter anOtter = new Otter(name); + otters.add(anOtter); + pets.put("Otter",otters); + + } + + } } @@ -88,6 +91,12 @@ public String getPetType(String name){ } public ArrayList listOfPetsByName() { +// String str =""; +// Collections.sort(getAllPets()); +// for(Pet petType: getAllPets()){ +// str+=petType.getName()+"\n"; +// +// } ArrayList petNames = new ArrayList(); for (Map.Entry> entry : pets.entrySet()) { for (int i = 0; i < pets.entrySet().size()+1; i++) { @@ -95,6 +104,7 @@ public ArrayList listOfPetsByName() { } } return petNames; + } public ArrayList listOfPetsByTypeSorted(){ @@ -118,6 +128,15 @@ public boolean hasEntry(String petType){ public ArrayList getArrayListForPets(String petType){ return pets.get(petType); } + public ArrayList getAllPets(){ + ArrayListallPets = new ArrayList(); + for(String keys:pets.keySet()) { + for (int i = 0; i < getArrayListForPets(keys).size(); i++) { + allPets.add(getArrayListForPets(keys).get(i)); + } + } + return allPets; + } diff --git a/src/main/java/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/pets/Pet.java index 57aa467..95dcd1a 100644 --- a/src/main/java/io/zipcoder/pets/Pet.java +++ b/src/main/java/io/zipcoder/pets/Pet.java @@ -18,12 +18,12 @@ public void setName(String aPetName) { public int compareTo(Pet anyPet) { - if (getName().compareTo(anyPet.getName()) > 0) { + if (this.name.compareTo(anyPet.name) > 0) { return 1; } else if (getName().compareTo(anyPet.getName()) < 0) { return -1; } else { - return getClass().getSimpleName().compareTo(anyPet.getClass().getSimpleName()); + return this.getClass().getSimpleName().compareTo(anyPet.getClass().getSimpleName()); } } diff --git a/src/test/java/io/zipcoder/PetInventoryTest.java b/src/test/java/io/zipcoder/PetInventoryTest.java index 612c923..f8bd17b 100644 --- a/src/test/java/io/zipcoder/PetInventoryTest.java +++ b/src/test/java/io/zipcoder/PetInventoryTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import java.util.ArrayList; +import java.util.Map; public class PetInventoryTest { @@ -17,6 +18,7 @@ public class PetInventoryTest { @Before public void setup() { + Map>petsTest; testInventory = new PetInventory(); } @@ -27,9 +29,9 @@ public void addPetTest1() { Cat testCat = new Cat("Winston"); ArrayList testList = new ArrayList(); testList.add(testCat); - testInventory.addPet(petType, testCat.getName()); + testInventory.addPet(petType, "Winston"); String expected = "Winston"; - String actual = testInventory.pets.get(petType).get(0).getName(); + String actual = testInventory.getArrayListForPets("petType").get(0).getName(); Assert.assertEquals(expected, actual); } From e155e76bce8bf9f2000e293e2912b8ecc9c524a5 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 27 Feb 2018 15:06:44 -0500 Subject: [PATCH 5/6] update --- src/main/java/io/zipcoder/Application.java | 7 ++++--- src/main/java/io/zipcoder/PetInventory.java | 15 +++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 6d4ab12..860fff1 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -18,7 +18,7 @@ public static void main(String[] args) { app.numberOfPets = scan.nextInt(); scan.nextLine(); //app.setTotalNumberOfPets(nu); - app.PetApplicatio(); + app.PetApplication(); } public void setTotalNumberOfPets(int numberOfPets){ this.numberOfPets = numberOfPets; @@ -26,7 +26,7 @@ public void setTotalNumberOfPets(int numberOfPets){ public int getTotalNumberOfPets(){ return numberOfPets; } - public void PetApplicatio(){ + public void PetApplication(){ PetInventory inventory = new PetInventory(); for(int i =0;i listOfPetsByName() { -// String str =""; -// Collections.sort(getAllPets()); -// for(Pet petType: getAllPets()){ -// str+=petType.getName()+"\n"; -// -// } ArrayList petNames = new ArrayList(); for (Map.Entry> entry : pets.entrySet()) { for (int i = 0; i < pets.entrySet().size()+1; i++) { petNames.add(entry.getValue().get(i).getName()); } } + Collections.sort(petNames); return petNames; } + public String listnamesOrdered(){ + String str =""; + ArrayListtotalPets = getAllPets(); + for(int i=0;i listOfPetsByTypeSorted(){ ArrayList petNames = new ArrayList(); From d50dd22e351dd8b6ae67088e888029375b9bb4d4 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Sat, 3 Mar 2018 09:59:17 -0500 Subject: [PATCH 6/6] created a class which implements Comparator --- src/main/java/io/zipcoder/PetInventory.java | 2 +- src/main/java/io/zipcoder/perComparator.java | 19 +++++++++++++++++++ src/main/java/io/zipcoder/pets/Pet.java | 6 ++---- .../java/io/zipcoder/PetInventoryTest.java | 4 ++-- 4 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 src/main/java/io/zipcoder/perComparator.java diff --git a/src/main/java/io/zipcoder/PetInventory.java b/src/main/java/io/zipcoder/PetInventory.java index 8c90310..39032ef 100644 --- a/src/main/java/io/zipcoder/PetInventory.java +++ b/src/main/java/io/zipcoder/PetInventory.java @@ -12,7 +12,7 @@ public class PetInventory { protected HashMap> pets; public PetInventory() { - pets = new HashMap>(); + this.pets = new HashMap>(); } diff --git a/src/main/java/io/zipcoder/perComparator.java b/src/main/java/io/zipcoder/perComparator.java new file mode 100644 index 0000000..73165bd --- /dev/null +++ b/src/main/java/io/zipcoder/perComparator.java @@ -0,0 +1,19 @@ +package io.zipcoder; + +import io.zipcoder.pets.Pet; + +import java.util.Comparator; + +public class perComparator implements Comparator{ + public int compare(Pet aPet, Pet anotherPet) { + String aPetClass = aPet.getClass().getSimpleName(); + String antherPetClass = anotherPet.getClass().getSimpleName(); + int compare = aPetClass.compareToIgnoreCase(antherPetClass); + if(compare==0){ + compare =(aPet.getName().compareToIgnoreCase(anotherPet.getName())); + } + + + return compare; + } +} diff --git a/src/main/java/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/pets/Pet.java index 95dcd1a..dc92c2f 100644 --- a/src/main/java/io/zipcoder/pets/Pet.java +++ b/src/main/java/io/zipcoder/pets/Pet.java @@ -18,15 +18,13 @@ public void setName(String aPetName) { public int compareTo(Pet anyPet) { - if (this.name.compareTo(anyPet.name) > 0) { + if (getName().compareTo(anyPet.getName()) > 0) { return 1; } else if (getName().compareTo(anyPet.getName()) < 0) { return -1; } else { - return this.getClass().getSimpleName().compareTo(anyPet.getClass().getSimpleName()); + return getClass().getSimpleName().compareTo(getClass().getSimpleName()); } } - - } diff --git a/src/test/java/io/zipcoder/PetInventoryTest.java b/src/test/java/io/zipcoder/PetInventoryTest.java index f8bd17b..bd6a35c 100644 --- a/src/test/java/io/zipcoder/PetInventoryTest.java +++ b/src/test/java/io/zipcoder/PetInventoryTest.java @@ -90,8 +90,8 @@ public void listOfPetsByNameTest() { testList.add(marky); testInventory.pets.put("dog", testList); ArrayList expected = new ArrayList(); - expected.add("Ricky"); expected.add("Marky"); + expected.add("Ricky"); ArrayList actual = testInventory.listOfPetsByName(); Assert.assertEquals(expected, actual); @@ -112,7 +112,7 @@ public void listOfPetsByTypeTest() { ArrayList testList3 = new ArrayList(); Cat zeus = new Cat("Zeus"); testList3.add(zeus); - testInventory.pets.put("charlie", testList3); + testInventory.pets.put("cat", testList3); ArrayList expected = new ArrayList(); expected.add("Zeus"); expected.add("Marky");