From f55d85f0c96f4976d6071ac9e06c59a1fb991ab0 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Mon, 26 Feb 2018 17:12:03 -0500 Subject: [PATCH 1/7] first commit, created classes and test classes --- src/main/java/io/zipcoder/Application.java | 5 ----- .../java/io/zipcoder/pets/Application.java | 21 +++++++++++++++++++ src/main/java/io/zipcoder/pets/Cat.java | 4 ++++ src/main/java/io/zipcoder/pets/Dog.java | 5 +++++ src/main/java/io/zipcoder/pets/Parrot.java | 4 ++++ src/main/java/io/zipcoder/pets/Pets.java | 5 +++++ .../java/io/zipcoder/ApplicationTest.java | 5 ----- .../io/zipcoder/pets/ApplicationTest.java | 18 ++++++++++++++++ src/test/java/io/zipcoder/pets/CatTest.java | 4 ++++ src/test/java/io/zipcoder/pets/DogTest.java | 4 ++++ .../java/io/zipcoder/pets/ParrotTest.java | 4 ++++ src/test/java/io/zipcoder/pets/PetsTest.java | 5 +++++ 12 files changed, 74 insertions(+), 10 deletions(-) delete mode 100644 src/main/java/io/zipcoder/Application.java create mode 100644 src/main/java/io/zipcoder/pets/Application.java 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/Parrot.java create mode 100644 src/main/java/io/zipcoder/pets/Pets.java delete mode 100644 src/test/java/io/zipcoder/ApplicationTest.java create mode 100644 src/test/java/io/zipcoder/pets/ApplicationTest.java create mode 100644 src/test/java/io/zipcoder/pets/CatTest.java create mode 100644 src/test/java/io/zipcoder/pets/DogTest.java create mode 100644 src/test/java/io/zipcoder/pets/ParrotTest.java create mode 100644 src/test/java/io/zipcoder/pets/PetsTest.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java deleted file mode 100644 index 3a257cb..0000000 --- a/src/main/java/io/zipcoder/Application.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.zipcoder; - - -public class Application { -} diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java new file mode 100644 index 0000000..7fd969f --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -0,0 +1,21 @@ +package io.zipcoder.pets; + + +import io.zipcoder.pets.Pets; +import java.util.Scanner; +import java.util.ArrayList; + +public class Application { + + private Pets[] petList; + private String nameOfPet; + private String typeOfPet; + private int numberOfPets; + + public Application() { + this.petList = petList; + + } + +} + 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..3bdc8c9 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -0,0 +1,5 @@ +package io.zipcoder.pets; + +public class Dog extends Pets { + +} diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java new file mode 100644 index 0000000..0cd03e5 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class Parrot { +} diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java new file mode 100644 index 0000000..cc363b5 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -0,0 +1,5 @@ +package io.zipcoder.pets; + +public class Pets { + +} diff --git a/src/test/java/io/zipcoder/ApplicationTest.java b/src/test/java/io/zipcoder/ApplicationTest.java deleted file mode 100644 index b744df5..0000000 --- a/src/test/java/io/zipcoder/ApplicationTest.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.zipcoder; - - -public class ApplicationTest { -} diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java new file mode 100644 index 0000000..60e9215 --- /dev/null +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -0,0 +1,18 @@ +package io.zipcoder.pets; + +import org.junit.Test; +import org.junit.Assert; + +public class ApplicationTest { + + @Test + public void constructorTest() { + + } + + @Test + public void storePetList() { + + } + +} diff --git a/src/test/java/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/pets/CatTest.java new file mode 100644 index 0000000..bda7bed --- /dev/null +++ b/src/test/java/io/zipcoder/pets/CatTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class CatTest { +} diff --git a/src/test/java/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/pets/DogTest.java new file mode 100644 index 0000000..f124ff5 --- /dev/null +++ b/src/test/java/io/zipcoder/pets/DogTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class DogTest { +} diff --git a/src/test/java/io/zipcoder/pets/ParrotTest.java b/src/test/java/io/zipcoder/pets/ParrotTest.java new file mode 100644 index 0000000..a41cb7b --- /dev/null +++ b/src/test/java/io/zipcoder/pets/ParrotTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class ParrotTest { +} diff --git a/src/test/java/io/zipcoder/pets/PetsTest.java b/src/test/java/io/zipcoder/pets/PetsTest.java new file mode 100644 index 0000000..5b217bc --- /dev/null +++ b/src/test/java/io/zipcoder/pets/PetsTest.java @@ -0,0 +1,5 @@ +package io.zipcoder.pets; + +public class PetsTest { + +} From c1f1266177888c80deb82bb9d1c5dbd5c5ddb198 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Tue, 27 Feb 2018 16:06:48 -0500 Subject: [PATCH 2/7] First 3 parts finished, yet to do the interfaces --- pom.xml | 5 +- .../java/io/zipcoder/pets/Application.java | 48 ++++++++++++++++--- src/main/java/io/zipcoder/pets/Cat.java | 27 ++++++++++- src/main/java/io/zipcoder/pets/Dog.java | 24 ++++++++++ src/main/java/io/zipcoder/pets/Parrot.java | 28 ++++++++++- .../java/io/zipcoder/pets/PetFactory.java | 16 +++++++ src/main/java/io/zipcoder/pets/Pets.java | 24 +++++++++- .../io/zipcoder/pets/ApplicationTest.java | 21 ++++++-- src/test/java/io/zipcoder/pets/CatTest.java | 19 ++++++++ src/test/java/io/zipcoder/pets/DogTest.java | 19 ++++++++ .../java/io/zipcoder/pets/ParrotTest.java | 21 ++++++++ .../java/io/zipcoder/pets/PetFactoryTest.java | 17 +++++++ src/test/java/io/zipcoder/pets/PetsTest.java | 20 ++++++++ 13 files changed, 274 insertions(+), 15 deletions(-) create mode 100644 src/main/java/io/zipcoder/pets/PetFactory.java create mode 100644 src/test/java/io/zipcoder/pets/PetFactoryTest.java diff --git a/pom.xml b/pom.xml index d73c078..86be1b2 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,10 @@ io.zipcoder Interfaces 1.0-SNAPSHOT - + + 1.8 + 1.8 + junit diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java index 7fd969f..b6c9e29 100644 --- a/src/main/java/io/zipcoder/pets/Application.java +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -1,21 +1,55 @@ package io.zipcoder.pets; - import io.zipcoder.pets.Pets; -import java.util.Scanner; + import java.util.ArrayList; +import java.util.Scanner; public class Application { - private Pets[] petList; - private String nameOfPet; - private String typeOfPet; - private int numberOfPets; + private ArrayList petList; + public Application() { - this.petList = petList; + this.petList = new ArrayList(); + + } + public String askForPets() { + Scanner in = new Scanner(System.in); + System.out.println("Please input the number of pets you own:"); + int numberOfPets = in.nextInt(); + System.out.println("Please input each pet by type of pet followed by their name, no " + + "punctuation marks please:"); + String x = in.nextLine(); + String allPets = in.nextLine(); + return allPets; } + public ArrayList createPetList(String allPets) { + String[] petArrayString = allPets.split(" "); + for(int i = 0; i< petArrayString.length; i+=2) { + petList.add(PetFactory.createPets(petArrayString[i], petArrayString[i+1])); + } + return petList; + } + + public String petsToString() { + String petString = ""; + for(int i=0; i y = app.createPetList(x); + String xyz = app.petsToString(); + System.out.println(xyz); } +} diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java index 2146c52..f6e8e7e 100644 --- a/src/main/java/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -1,4 +1,29 @@ package io.zipcoder.pets; -public class Cat { +public class Cat extends Pets { + + private String name; + + public Cat() { + this.name = name; + } + + public Cat(String name) { + super(name); + } + + @Override + public void setName(String name) { + this.name = name; + } + + @Override + public String getName() { + return super.getName(); + } + + @Override + public String speak(){ + return "Meow"; + } } diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index 3bdc8c9..8b5ce5a 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -2,4 +2,28 @@ public class Dog extends Pets { + private String name; + + public Dog() { + this.name = name; + } + + public Dog(String name) { + super(name); + } + + @Override + public void setName(String name) { + this.name = name; + } + + @Override + public String getName() { + return super.getName(); + } + + @Override + public String speak() { + return "Woof"; + } } diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java index 0cd03e5..402c1e1 100644 --- a/src/main/java/io/zipcoder/pets/Parrot.java +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -1,4 +1,30 @@ package io.zipcoder.pets; -public class Parrot { +public class Parrot extends Pets { + + private String name; + + public Parrot() { + this.name = name; + } + + public Parrot(String name) { + super(name); + } + + @Override + public void setName(String name) { + this.name = name; + } + + @Override + public String getName() { + + return super.getName(); + } + + @Override + public String speak() { + return "Hello"; + } } diff --git a/src/main/java/io/zipcoder/pets/PetFactory.java b/src/main/java/io/zipcoder/pets/PetFactory.java new file mode 100644 index 0000000..8ea22f4 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/PetFactory.java @@ -0,0 +1,16 @@ +package io.zipcoder.pets; + +public class PetFactory { + + public static Pets createPets(String pet, String name) { + if(pet.equalsIgnoreCase("dog")) { + return new Dog(name); + } else if (pet.equalsIgnoreCase("cat")) { + return new Cat(name); + } else if (pet.equalsIgnoreCase("parrot")) { + return new Parrot(name); + } + return null; + } + +} diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index cc363b5..526d22e 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -1,5 +1,27 @@ package io.zipcoder.pets; public class Pets { - + + private String name; + + public Pets() { + this.name = ""; + } + + public Pets(String name) { + this.name = name; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + + public String speak() { + return null; + } } + diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java index 60e9215..147ead6 100644 --- a/src/test/java/io/zipcoder/pets/ApplicationTest.java +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -3,16 +3,29 @@ import org.junit.Test; import org.junit.Assert; +import java.util.ArrayList; +import java.util.Arrays; + public class ApplicationTest { @Test - public void constructorTest() { - + public void testCreatePetList(){ + Application app = new Application(); + Pets dog = PetFactory.createPets("dog", "Sandy"); + String expected = dog.getName(); + ArrayList pets = app.createPetList("dog Sandy cat Sally"); + String actual = pets.get(0).getName(); + Assert.assertEquals(expected, actual); } @Test - public void storePetList() { - + public void testPetsToString(){ + Application app = new Application(); + String expected = "My name is Sandy and I say Woof"; + Pets dog = PetFactory.createPets("dog", "Sandy"); + ArrayList pets = app.createPetList("dog Sandy"); + String actual = app.petsToString(); + Assert.assertEquals(expected, actual); } } diff --git a/src/test/java/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/pets/CatTest.java index bda7bed..7d7b84d 100644 --- a/src/test/java/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/pets/CatTest.java @@ -1,4 +1,23 @@ package io.zipcoder.pets; +import org.junit.Assert; +import org.junit.Test; + public class CatTest { + + @Test + public void testConstructor(){ + Cat cat = new Cat("Sally"); + String expected = "Sally"; + String actual = cat.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void testSpeak() { + Cat cat = new Cat("Sally"); + String expected = "Meow"; + String actual = cat.speak(); + Assert.assertEquals(expected, actual); + } } diff --git a/src/test/java/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/pets/DogTest.java index f124ff5..a83b6e7 100644 --- a/src/test/java/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/pets/DogTest.java @@ -1,4 +1,23 @@ package io.zipcoder.pets; +import org.junit.Assert; +import org.junit.Test; + public class DogTest { + + @Test + public void testConstructor() { + Dog dog = new Dog("Sandy"); + String expected = "Sandy"; + String actual = dog.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void testSpeak() { + Dog dog = new Dog("Sandy"); + String expected = "Woof"; + String actual = dog.speak(); + Assert.assertEquals(expected, actual); + } } diff --git a/src/test/java/io/zipcoder/pets/ParrotTest.java b/src/test/java/io/zipcoder/pets/ParrotTest.java index a41cb7b..f732e75 100644 --- a/src/test/java/io/zipcoder/pets/ParrotTest.java +++ b/src/test/java/io/zipcoder/pets/ParrotTest.java @@ -1,4 +1,25 @@ package io.zipcoder.pets; +import org.junit.Assert; +import org.junit.Test; + public class ParrotTest { + + @Test + public void constructorTest() { + Parrot parrot = new Parrot("Id"); + String expected = "Id"; + String actual = parrot.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void speakTest() { + //given + Parrot parrot = new Parrot("Id"); + String expected = "Hello"; + String actual = parrot.speak(); + Assert.assertEquals(expected, actual); + + } } diff --git a/src/test/java/io/zipcoder/pets/PetFactoryTest.java b/src/test/java/io/zipcoder/pets/PetFactoryTest.java new file mode 100644 index 0000000..057c318 --- /dev/null +++ b/src/test/java/io/zipcoder/pets/PetFactoryTest.java @@ -0,0 +1,17 @@ +package io.zipcoder.pets; + +import org.junit.Assert; +import org.junit.Test; + +public class PetFactoryTest { + + @Test + public void testCreatePets() { + PetFactory factory = new PetFactory(); + String expected = "Sandy"; + Pets dog = PetFactory.createPets("dog", "Sandy"); + String actual = dog.getName(); + Assert.assertEquals(expected,actual); + } + +} diff --git a/src/test/java/io/zipcoder/pets/PetsTest.java b/src/test/java/io/zipcoder/pets/PetsTest.java index 5b217bc..5dca217 100644 --- a/src/test/java/io/zipcoder/pets/PetsTest.java +++ b/src/test/java/io/zipcoder/pets/PetsTest.java @@ -1,5 +1,25 @@ package io.zipcoder.pets; +import org.junit.Assert; +import org.junit.Test; + public class PetsTest { + @Test + public void testConstructor() { + Pets pet = new Pets("Sandy"); + String expected = "Sandy"; + String actual = pet.getName(); + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetName() { + Pets pet = new Pets("Sudafed"); + String expected = "Sudafed"; + String actual = pet.getName(); + Assert.assertEquals(expected, actual); + } + + } From 8ee3551716443a3549ccd5de02872f88e032d974 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Tue, 27 Feb 2018 19:07:56 -0500 Subject: [PATCH 3/7] almost done, need to finish interfaces --- .../java/io/zipcoder/pets/Application.java | 7 ---- src/main/java/io/zipcoder/pets/Parrot.java | 3 +- src/main/java/io/zipcoder/pets/Pets.java | 22 ++++++++++- .../io/zipcoder/pets/ApplicationTest.java | 7 ++++ src/test/java/io/zipcoder/pets/PetsTest.java | 38 +++++++++++++++++++ 5 files changed, 68 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java index b6c9e29..d0b2415 100644 --- a/src/main/java/io/zipcoder/pets/Application.java +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -44,12 +44,5 @@ public String petsToString() { } -public static void main(String[] args) { - Application app = new Application(); - String x = app.askForPets(); - ArrayList y = app.createPetList(x); - String xyz = app.petsToString(); - System.out.println(xyz); -} } diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java index 402c1e1..1aa8c54 100644 --- a/src/main/java/io/zipcoder/pets/Parrot.java +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -19,7 +19,6 @@ public void setName(String name) { @Override public String getName() { - return super.getName(); } @@ -27,4 +26,6 @@ public String getName() { public String speak() { return "Hello"; } + + } diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index 526d22e..8c8cc0d 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -1,6 +1,8 @@ package io.zipcoder.pets; -public class Pets { +import java.util.Comparator; + +public class Pets implements Comparable, Comparator { private String name; @@ -10,6 +12,7 @@ public Pets() { public Pets(String name) { this.name = name; + } public void setName(String name) { @@ -23,5 +26,22 @@ public String getName() { public String speak() { return null; } + + @Override + public int compareTo(Pets o) { + int comp = 0; + if (this.getName().equalsIgnoreCase(o.getName())) { + comp = this.toString().compareTo(o.toString()); + } else { + comp = this.getName().compareTo(o.getName()); + } + return comp; + } + + + @Override + public int compare(Pets o1, Pets o2) { + return 0; + } } diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java index 147ead6..d0dbdfc 100644 --- a/src/test/java/io/zipcoder/pets/ApplicationTest.java +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -28,4 +28,11 @@ public void testPetsToString(){ Assert.assertEquals(expected, actual); } + @Test + public void testPetsCompare(){ + //Given + Application app = new Application(); + + } + } diff --git a/src/test/java/io/zipcoder/pets/PetsTest.java b/src/test/java/io/zipcoder/pets/PetsTest.java index 5dca217..b9707e0 100644 --- a/src/test/java/io/zipcoder/pets/PetsTest.java +++ b/src/test/java/io/zipcoder/pets/PetsTest.java @@ -3,6 +3,10 @@ import org.junit.Assert; import org.junit.Test; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; + public class PetsTest { @Test @@ -21,5 +25,39 @@ public void testGetName() { Assert.assertEquals(expected, actual); } + @Test + public void testCompareTo(){ + //Given + Pets dog = new Dog("Sandy"); + Pets dog1 = new Dog("Molly"); + Pets cat = new Cat("Sandy"); + Pets cat1 = new Cat("Andy"); + Pets parrot = new Parrot("Id"); + ArrayList pets = new ArrayList(Arrays.asList(dog, dog1, cat, cat1, parrot)); + ArrayList expected = new ArrayList(Arrays.asList(cat1, parrot, dog1, cat, dog)); + //When + Collections.sort(pets); + //Then + ArrayList actual = pets; + Assert.assertEquals(expected, actual); + } + + @Test + public void testPetsComparator() { + //Given + Pets dog1 = new Dog("Sandy"); + Pets dog2 = new Dog("Molly"); + Pets dog3 = new Dog("Ally"); + Pets cat = new Cat("Sandy"); + Pets cat1 = new Cat("Andy"); + Pets parrot = new Parrot("Id"); + ArrayList pets = new ArrayList(Arrays.asList(dog1, dog2, dog3, cat, cat1, parrot)); + ArrayList expected = new ArrayList(Arrays.asList(cat1, cat, dog3, dog2, dog1, parrot)); + //When + Collections.sort(pets); + //Then + ArrayList actual = pets; + Assert.assertEquals(expected, actual); + } } From 44b215ac1116646b07c6880312cfb5e1061db7f3 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Wed, 28 Feb 2018 11:53:49 -0500 Subject: [PATCH 4/7] finished interface section, turning in lab --- .../java/io/zipcoder/pets/Application.java | 10 ++++++ src/main/java/io/zipcoder/pets/Cat.java | 13 +++++++ src/main/java/io/zipcoder/pets/Dog.java | 13 +++++++ src/main/java/io/zipcoder/pets/Parrot.java | 12 +++++++ src/main/java/io/zipcoder/pets/Pets.java | 26 ++++++-------- .../io/zipcoder/pets/ApplicationTest.java | 35 ++++++++++++++++-- src/test/java/io/zipcoder/pets/CatTest.java | 8 +++++ src/test/java/io/zipcoder/pets/DogTest.java | 8 +++++ .../java/io/zipcoder/pets/ParrotTest.java | 7 ++++ src/test/java/io/zipcoder/pets/PetsTest.java | 36 +------------------ 10 files changed, 115 insertions(+), 53 deletions(-) diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java index d0b2415..262b0c7 100644 --- a/src/main/java/io/zipcoder/pets/Application.java +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -3,6 +3,8 @@ import io.zipcoder.pets.Pets; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Scanner; public class Application { @@ -43,6 +45,14 @@ public String petsToString() { return petString; } + public ArrayList sortPetsByType(){ + Collections.sort(petList, Comparator.comparing(Pets::getType).thenComparing(Pets::getName)); + return petList; + } + public ArrayList sortPetsByName(){ + Collections.sort(petList, Comparator.comparing(Pets::getName).thenComparing(Pets::getType)); + return petList; + } } diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java index f6e8e7e..09acee7 100644 --- a/src/main/java/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -3,13 +3,26 @@ public class Cat extends Pets { private String name; + private String type; public Cat() { this.name = name; + this.type = "cat"; } public Cat(String name) { super(name); + this.type = "cat"; + } + + @Override + public void setType() { + this.type = "cat"; + } + + @Override + public String getType() { + return type; } @Override diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index 8b5ce5a..01baf62 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -3,13 +3,26 @@ public class Dog extends Pets { private String name; + private String type; public Dog() { this.name = name; + this.type = "dog"; } public Dog(String name) { super(name); + this.type = "dog"; + } + + @Override + public void setType() { + this.type = "dog"; + } + + @Override + public String getType() { + return type; } @Override diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java index 1aa8c54..0398cca 100644 --- a/src/main/java/io/zipcoder/pets/Parrot.java +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -3,13 +3,25 @@ public class Parrot extends Pets { private String name; + private String type; public Parrot() { this.name = name; + this.type = "parrot"; } public Parrot(String name) { super(name); + this.type = "parrot"; + } + + @Override + public void setType() { + this.type = "parrot"; + } + @Override + public String getType() { + return type; } @Override diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index 8c8cc0d..96222aa 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -2,18 +2,28 @@ import java.util.Comparator; -public class Pets implements Comparable, Comparator { +public class Pets{ private String name; + private String type; public Pets() { this.name = ""; + this.type= type; } public Pets(String name) { this.name = name; + this.type = type; } + public void setType() { + this.type = type; + } + + public String getType() { + return type; + } public void setName(String name) { this.name = name; @@ -27,21 +37,7 @@ public String speak() { return null; } - @Override - public int compareTo(Pets o) { - int comp = 0; - if (this.getName().equalsIgnoreCase(o.getName())) { - comp = this.toString().compareTo(o.toString()); - } else { - comp = this.getName().compareTo(o.getName()); - } - return comp; - } - @Override - public int compare(Pets o1, Pets o2) { - return 0; - } } diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java index d0dbdfc..900a2fa 100644 --- a/src/test/java/io/zipcoder/pets/ApplicationTest.java +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -5,6 +5,8 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; public class ApplicationTest { @@ -28,11 +30,38 @@ public void testPetsToString(){ Assert.assertEquals(expected, actual); } + @Test - public void testPetsCompare(){ + public void testCompareByName(){ //Given - Application app = new Application(); - + Pets dog = new Dog("Sandy"); + Pets dog1 = new Dog("Molly"); + Pets cat = new Cat("Sandy"); + Pets cat1 = new Cat("Andy"); + Pets parrot = new Parrot("Id"); + ArrayList pets = new ArrayList(Arrays.asList(dog, dog1, cat, cat1, parrot)); + ArrayList expected = new ArrayList(Arrays.asList(cat1, parrot, dog1, cat, dog)); + //When + Collections.sort(pets, Comparator.comparing(Pets::getName).thenComparing(Pets::getType)); + //Then + ArrayList actual = pets; + Assert.assertEquals(expected, actual); + } + @Test + public void testCompareByType() { + //Given + Pets dog1 = new Dog("Sandy"); + Pets dog2 = new Dog("Molly"); + Pets dog3 = new Dog("Ally"); + Pets cat = new Cat("Sandy"); + Pets cat1 = new Cat("Andy"); + Pets parrot = new Parrot("Id"); + ArrayList actual = new ArrayList(Arrays.asList(dog1, dog2, dog3, cat, cat1, parrot)); + ArrayList expected = new ArrayList(Arrays.asList(cat1, cat, dog3, dog2, dog1, parrot)); + //When + Collections.sort(actual, Comparator.comparing(Pets::getType).thenComparing(Pets::getName)); + //Then + Assert.assertEquals(expected, actual); } } diff --git a/src/test/java/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/pets/CatTest.java index 7d7b84d..dbcdf72 100644 --- a/src/test/java/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/pets/CatTest.java @@ -13,6 +13,14 @@ public void testConstructor(){ Assert.assertEquals(expected, actual); } + @Test + public void testGetType(){ + Cat cat = new Cat(); + String expected = "cat"; + String actual = cat.getType(); + Assert.assertEquals(expected, actual); + } + @Test public void testSpeak() { Cat cat = new Cat("Sally"); diff --git a/src/test/java/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/pets/DogTest.java index a83b6e7..8dd6f10 100644 --- a/src/test/java/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/pets/DogTest.java @@ -13,6 +13,14 @@ public void testConstructor() { Assert.assertEquals(expected, actual); } + @Test + public void testGetType(){ + Dog dog = new Dog(); + String expected = "dog"; + String actual = dog.getType(); + Assert.assertEquals(expected, actual); + } + @Test public void testSpeak() { Dog dog = new Dog("Sandy"); diff --git a/src/test/java/io/zipcoder/pets/ParrotTest.java b/src/test/java/io/zipcoder/pets/ParrotTest.java index f732e75..c83d6fa 100644 --- a/src/test/java/io/zipcoder/pets/ParrotTest.java +++ b/src/test/java/io/zipcoder/pets/ParrotTest.java @@ -13,6 +13,13 @@ public void constructorTest() { Assert.assertEquals(expected, actual); } + @Test + public void testGetType(){ + Parrot parrot = new Parrot(); + String expected = "parrot"; + String actual = parrot.getType(); + Assert.assertEquals(expected, actual); + } @Test public void speakTest() { //given diff --git a/src/test/java/io/zipcoder/pets/PetsTest.java b/src/test/java/io/zipcoder/pets/PetsTest.java index b9707e0..5f7f0d5 100644 --- a/src/test/java/io/zipcoder/pets/PetsTest.java +++ b/src/test/java/io/zipcoder/pets/PetsTest.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; + public class PetsTest { @@ -25,39 +25,5 @@ public void testGetName() { Assert.assertEquals(expected, actual); } - @Test - public void testCompareTo(){ - //Given - Pets dog = new Dog("Sandy"); - Pets dog1 = new Dog("Molly"); - Pets cat = new Cat("Sandy"); - Pets cat1 = new Cat("Andy"); - Pets parrot = new Parrot("Id"); - ArrayList pets = new ArrayList(Arrays.asList(dog, dog1, cat, cat1, parrot)); - ArrayList expected = new ArrayList(Arrays.asList(cat1, parrot, dog1, cat, dog)); - //When - Collections.sort(pets); - //Then - ArrayList actual = pets; - Assert.assertEquals(expected, actual); - } - - @Test - public void testPetsComparator() { - //Given - Pets dog1 = new Dog("Sandy"); - Pets dog2 = new Dog("Molly"); - Pets dog3 = new Dog("Ally"); - Pets cat = new Cat("Sandy"); - Pets cat1 = new Cat("Andy"); - Pets parrot = new Parrot("Id"); - ArrayList pets = new ArrayList(Arrays.asList(dog1, dog2, dog3, cat, cat1, parrot)); - ArrayList expected = new ArrayList(Arrays.asList(cat1, cat, dog3, dog2, dog1, parrot)); - //When - Collections.sort(pets); - //Then - ArrayList actual = pets; - Assert.assertEquals(expected, actual); - } } From a19a3a792638db7f466d11c9b41a20caa58a45b9 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Fri, 1 Jun 2018 12:50:05 -0400 Subject: [PATCH 5/7] improved and refactored old lab --- .../java/io/zipcoder/pets/Application.java | 48 +++++++++++-------- src/main/java/io/zipcoder/pets/Cat.java | 4 +- src/main/java/io/zipcoder/pets/Dog.java | 2 +- src/main/java/io/zipcoder/pets/Main.java | 12 +++++ src/main/java/io/zipcoder/pets/Parrot.java | 2 +- src/main/java/io/zipcoder/pets/Pets.java | 6 +-- .../io/zipcoder/pets/ApplicationTest.java | 10 ++-- 7 files changed, 52 insertions(+), 32 deletions(-) create mode 100644 src/main/java/io/zipcoder/pets/Main.java diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java index 262b0c7..57bfb0c 100644 --- a/src/main/java/io/zipcoder/pets/Application.java +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -17,42 +17,50 @@ public Application() { } - public String askForPets() { + public int askForPets() { Scanner in = new Scanner(System.in); System.out.println("Please input the number of pets you own:"); - int numberOfPets = in.nextInt(); - System.out.println("Please input each pet by type of pet followed by their name, no " + - "punctuation marks please:"); - String x = in.nextLine(); - String allPets = in.nextLine(); - return allPets; + return in.nextInt(); } - public ArrayList createPetList(String allPets) { - String[] petArrayString = allPets.split(" "); - for(int i = 0; i< petArrayString.length; i+=2) { - petList.add(PetFactory.createPets(petArrayString[i], petArrayString[i+1])); + public ArrayList createPetList() { + int numberOfPets = askForPets(); + Scanner scan = new Scanner(System.in); + for (int i = 0; i < numberOfPets; i++) { + System.out.println("Please enter type of pet for pet # " + (i + 1)); + String type = scan.nextLine(); + System.out.println("Please enter pet's name"); + String name = scan.nextLine(); + petList.add(PetFactory.createPets(type, name)); } return petList; } - public String petsToString() { - String petString = ""; - for(int i=0; i petList) { + StringBuilder petString = new StringBuilder(); + for (Pets pet: petList) { + petString.append("My name is ") + .append(pet.getName()) + .append(" and I say ") + .append(pet.speak()) + .append(". "); } - return petString; + return petString.toString(); + } - public ArrayList sortPetsByType(){ + public ArrayList sortPetsByType() { Collections.sort(petList, Comparator.comparing(Pets::getType).thenComparing(Pets::getName)); return petList; } - public ArrayList sortPetsByName(){ + + public ArrayList sortPetsByName() { Collections.sort(petList, Comparator.comparing(Pets::getName).thenComparing(Pets::getType)); return petList; } - } + + + + diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java index 09acee7..214960d 100644 --- a/src/main/java/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -6,7 +6,7 @@ public class Cat extends Pets { private String type; public Cat() { - this.name = name; + this.name = ""; this.type = "cat"; } @@ -16,7 +16,7 @@ public Cat(String name) { } @Override - public void setType() { + public void setType(String type) { this.type = "cat"; } diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index 01baf62..750e75a 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -16,7 +16,7 @@ public Dog(String name) { } @Override - public void setType() { + public void setType(String type) { this.type = "dog"; } diff --git a/src/main/java/io/zipcoder/pets/Main.java b/src/main/java/io/zipcoder/pets/Main.java new file mode 100644 index 0000000..077a437 --- /dev/null +++ b/src/main/java/io/zipcoder/pets/Main.java @@ -0,0 +1,12 @@ +package io.zipcoder.pets; + +import java.util.ArrayList; + +public class Main { + public static void main(String[] args){ + Application app = new Application(); + ArrayList pets = app.createPetList(); + String petString = app.petsToString(pets); + System.out.println(petString); + } +} diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java index 0398cca..76b2dfd 100644 --- a/src/main/java/io/zipcoder/pets/Parrot.java +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -16,7 +16,7 @@ public Parrot(String name) { } @Override - public void setType() { + public void setType(String type) { this.type = "parrot"; } @Override diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index 96222aa..0b8beeb 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -9,15 +9,15 @@ public class Pets{ public Pets() { this.name = ""; - this.type= type; + this.type= ""; } public Pets(String name) { this.name = name; - this.type = type; + this.type = ""; } - public void setType() { + public void setType(String type) { this.type = type; } diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java index 900a2fa..ff9f61f 100644 --- a/src/test/java/io/zipcoder/pets/ApplicationTest.java +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -14,8 +14,8 @@ public class ApplicationTest { public void testCreatePetList(){ Application app = new Application(); Pets dog = PetFactory.createPets("dog", "Sandy"); - String expected = dog.getName(); - ArrayList pets = app.createPetList("dog Sandy cat Sally"); + String expected = "Sandy"; + ArrayList pets = new ArrayList<>(Arrays.asList(dog)); String actual = pets.get(0).getName(); Assert.assertEquals(expected, actual); } @@ -23,10 +23,10 @@ public void testCreatePetList(){ @Test public void testPetsToString(){ Application app = new Application(); - String expected = "My name is Sandy and I say Woof"; + String expected = "My name is Sandy and I say Woof. "; Pets dog = PetFactory.createPets("dog", "Sandy"); - ArrayList pets = app.createPetList("dog Sandy"); - String actual = app.petsToString(); + ArrayList pets = new ArrayList<>(Arrays.asList(dog)); + String actual = app.petsToString(pets); Assert.assertEquals(expected, actual); } From c5600ffdc00e26cc45569d00336cfec2f467a0c1 Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Sat, 2 Jun 2018 11:04:53 -0400 Subject: [PATCH 6/7] made pet class abstract, again --- src/main/java/io/zipcoder/pets/Pets.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index 0b8beeb..6412bad 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -2,7 +2,7 @@ import java.util.Comparator; -public class Pets{ +public abstract class Pets{ private String name; private String type; @@ -18,6 +18,7 @@ public Pets(String name) { } public void setType(String type) { + this.type = type; } @@ -33,9 +34,7 @@ public String getName() { return this.name; } - public String speak() { - return null; - } + public abstract String speak(); From 9b86cfb8228817b0be08f708244c82983fa9eecf Mon Sep 17 00:00:00 2001 From: Carolynn Vansant Date: Wed, 18 Jul 2018 16:20:40 -0400 Subject: [PATCH 7/7] cleaned up inheritance redundancies --- .../java/io/zipcoder/pets/Application.java | 13 +++++++++- src/main/java/io/zipcoder/pets/Cat.java | 21 +++------------- src/main/java/io/zipcoder/pets/Dog.java | 18 ++----------- src/main/java/io/zipcoder/pets/Main.java | 2 +- src/main/java/io/zipcoder/pets/Parrot.java | 16 +++--------- src/main/java/io/zipcoder/pets/Pets.java | 4 --- .../io/zipcoder/pets/ApplicationTest.java | 25 ++++++++++++------- src/test/java/io/zipcoder/pets/CatTest.java | 3 ++- src/test/java/io/zipcoder/pets/DogTest.java | 2 +- .../java/io/zipcoder/pets/PetFactoryTest.java | 1 - src/test/java/io/zipcoder/pets/PetsTest.java | 4 +-- 11 files changed, 42 insertions(+), 67 deletions(-) diff --git a/src/main/java/io/zipcoder/pets/Application.java b/src/main/java/io/zipcoder/pets/Application.java index 57bfb0c..adab4bf 100644 --- a/src/main/java/io/zipcoder/pets/Application.java +++ b/src/main/java/io/zipcoder/pets/Application.java @@ -17,6 +17,14 @@ public Application() { } + public void setPetList(ArrayList petList) { + this.petList = petList; + } + + public ArrayList getPetList() { + return petList; + } + public int askForPets() { Scanner in = new Scanner(System.in); System.out.println("Please input the number of pets you own:"); @@ -33,10 +41,13 @@ public ArrayList createPetList() { String name = scan.nextLine(); petList.add(PetFactory.createPets(type, name)); } + setPetList(petList); return petList; } - public String petsToString(ArrayList petList) { + @Override + public String toString() { + ArrayList petList = getPetList(); StringBuilder petString = new StringBuilder(); for (Pets pet: petList) { petString.append("My name is ") diff --git a/src/main/java/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/pets/Cat.java index 214960d..38fdc28 100644 --- a/src/main/java/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/pets/Cat.java @@ -2,38 +2,23 @@ public class Cat extends Pets { - private String name; private String type; - public Cat() { - this.name = ""; - this.type = "cat"; - } - public Cat(String name) { super(name); this.type = "cat"; } - @Override + public void setType(String type) { this.type = "cat"; } @Override - public String getType() { - return type; + public String getType(){ + return this.type; } - @Override - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return super.getName(); - } @Override public String speak(){ diff --git a/src/main/java/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/pets/Dog.java index 750e75a..6bfaacb 100644 --- a/src/main/java/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/pets/Dog.java @@ -2,38 +2,24 @@ public class Dog extends Pets { - private String name; private String type; - public Dog() { - this.name = name; - this.type = "dog"; - } public Dog(String name) { super(name); this.type = "dog"; } - @Override + public void setType(String type) { this.type = "dog"; } - @Override + public String getType() { return type; } - @Override - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return super.getName(); - } @Override public String speak() { diff --git a/src/main/java/io/zipcoder/pets/Main.java b/src/main/java/io/zipcoder/pets/Main.java index 077a437..a1d57cb 100644 --- a/src/main/java/io/zipcoder/pets/Main.java +++ b/src/main/java/io/zipcoder/pets/Main.java @@ -6,7 +6,7 @@ public class Main { public static void main(String[] args){ Application app = new Application(); ArrayList pets = app.createPetList(); - String petString = app.petsToString(pets); + String petString = app.toString(); System.out.println(petString); } } diff --git a/src/main/java/io/zipcoder/pets/Parrot.java b/src/main/java/io/zipcoder/pets/Parrot.java index 76b2dfd..610cf32 100644 --- a/src/main/java/io/zipcoder/pets/Parrot.java +++ b/src/main/java/io/zipcoder/pets/Parrot.java @@ -2,11 +2,10 @@ public class Parrot extends Pets { - private String name; + private String type; public Parrot() { - this.name = name; this.type = "parrot"; } @@ -15,24 +14,15 @@ public Parrot(String name) { this.type = "parrot"; } - @Override + public void setType(String type) { this.type = "parrot"; } - @Override + public String getType() { return type; } - @Override - public void setName(String name) { - this.name = name; - } - - @Override - public String getName() { - return super.getName(); - } @Override public String speak() { diff --git a/src/main/java/io/zipcoder/pets/Pets.java b/src/main/java/io/zipcoder/pets/Pets.java index 6412bad..3723f40 100644 --- a/src/main/java/io/zipcoder/pets/Pets.java +++ b/src/main/java/io/zipcoder/pets/Pets.java @@ -9,16 +9,12 @@ public abstract class Pets{ public Pets() { this.name = ""; - this.type= ""; } public Pets(String name) { this.name = name; - this.type = ""; - } public void setType(String type) { - this.type = type; } diff --git a/src/test/java/io/zipcoder/pets/ApplicationTest.java b/src/test/java/io/zipcoder/pets/ApplicationTest.java index ff9f61f..d0fff7a 100644 --- a/src/test/java/io/zipcoder/pets/ApplicationTest.java +++ b/src/test/java/io/zipcoder/pets/ApplicationTest.java @@ -16,7 +16,8 @@ public void testCreatePetList(){ Pets dog = PetFactory.createPets("dog", "Sandy"); String expected = "Sandy"; ArrayList pets = new ArrayList<>(Arrays.asList(dog)); - String actual = pets.get(0).getName(); + app.setPetList(pets); + String actual = app.getPetList().get(0).getName(); Assert.assertEquals(expected, actual); } @@ -26,7 +27,8 @@ public void testPetsToString(){ String expected = "My name is Sandy and I say Woof. "; Pets dog = PetFactory.createPets("dog", "Sandy"); ArrayList pets = new ArrayList<>(Arrays.asList(dog)); - String actual = app.petsToString(pets); + app.setPetList(pets); + String actual = app.toString(); Assert.assertEquals(expected, actual); } @@ -34,32 +36,37 @@ public void testPetsToString(){ @Test public void testCompareByName(){ //Given + Application app = new Application(); Pets dog = new Dog("Sandy"); Pets dog1 = new Dog("Molly"); Pets cat = new Cat("Sandy"); Pets cat1 = new Cat("Andy"); Pets parrot = new Parrot("Id"); - ArrayList pets = new ArrayList(Arrays.asList(dog, dog1, cat, cat1, parrot)); - ArrayList expected = new ArrayList(Arrays.asList(cat1, parrot, dog1, cat, dog)); + ArrayList pets = new ArrayList<>(Arrays.asList(dog, dog1, cat, cat1, parrot)); + ArrayList expected = new ArrayList<>(Arrays.asList(cat1, parrot, dog1, cat, dog)); + app.setPetList(pets); //When - Collections.sort(pets, Comparator.comparing(Pets::getName).thenComparing(Pets::getType)); + app.sortPetsByName(); //Then - ArrayList actual = pets; + ArrayList actual = app.getPetList(); Assert.assertEquals(expected, actual); } @Test public void testCompareByType() { //Given + Application app = new Application(); Pets dog1 = new Dog("Sandy"); Pets dog2 = new Dog("Molly"); Pets dog3 = new Dog("Ally"); Pets cat = new Cat("Sandy"); Pets cat1 = new Cat("Andy"); Pets parrot = new Parrot("Id"); - ArrayList actual = new ArrayList(Arrays.asList(dog1, dog2, dog3, cat, cat1, parrot)); - ArrayList expected = new ArrayList(Arrays.asList(cat1, cat, dog3, dog2, dog1, parrot)); + ArrayList pets = new ArrayList<>(Arrays.asList(dog1, dog2, dog3, cat, cat1, parrot)); + ArrayList expected = new ArrayList<>(Arrays.asList(cat1, cat, dog3, dog2, dog1, parrot)); + app.setPetList(pets); //When - Collections.sort(actual, Comparator.comparing(Pets::getType).thenComparing(Pets::getName)); + app.sortPetsByType(); + ArrayList actual = app.getPetList(); //Then Assert.assertEquals(expected, actual); } diff --git a/src/test/java/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/pets/CatTest.java index dbcdf72..5ed235d 100644 --- a/src/test/java/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/pets/CatTest.java @@ -15,8 +15,9 @@ public void testConstructor(){ @Test public void testGetType(){ - Cat cat = new Cat(); + Cat cat = new Cat("Sally"); String expected = "cat"; + cat.setType("cat"); String actual = cat.getType(); Assert.assertEquals(expected, actual); } diff --git a/src/test/java/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/pets/DogTest.java index 8dd6f10..e2630f4 100644 --- a/src/test/java/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/pets/DogTest.java @@ -15,7 +15,7 @@ public void testConstructor() { @Test public void testGetType(){ - Dog dog = new Dog(); + Dog dog = new Dog("Sandy"); String expected = "dog"; String actual = dog.getType(); Assert.assertEquals(expected, actual); diff --git a/src/test/java/io/zipcoder/pets/PetFactoryTest.java b/src/test/java/io/zipcoder/pets/PetFactoryTest.java index 057c318..609b6a9 100644 --- a/src/test/java/io/zipcoder/pets/PetFactoryTest.java +++ b/src/test/java/io/zipcoder/pets/PetFactoryTest.java @@ -7,7 +7,6 @@ public class PetFactoryTest { @Test public void testCreatePets() { - PetFactory factory = new PetFactory(); String expected = "Sandy"; Pets dog = PetFactory.createPets("dog", "Sandy"); String actual = dog.getName(); diff --git a/src/test/java/io/zipcoder/pets/PetsTest.java b/src/test/java/io/zipcoder/pets/PetsTest.java index 5f7f0d5..72d9515 100644 --- a/src/test/java/io/zipcoder/pets/PetsTest.java +++ b/src/test/java/io/zipcoder/pets/PetsTest.java @@ -11,7 +11,7 @@ public class PetsTest { @Test public void testConstructor() { - Pets pet = new Pets("Sandy"); + Pets pet = new Dog("Sandy"); String expected = "Sandy"; String actual = pet.getName(); Assert.assertEquals(expected, actual); @@ -19,7 +19,7 @@ public void testConstructor() { @Test public void testGetName() { - Pets pet = new Pets("Sudafed"); + Pets pet = new Dog("Sudafed"); String expected = "Sudafed"; String actual = pet.getName(); Assert.assertEquals(expected, actual);