From 79d73e7e76ccb456a379e8167f199e2be54b34eb Mon Sep 17 00:00:00 2001 From: Amy Gill Date: Mon, 26 Feb 2018 14:35:30 -0500 Subject: [PATCH 01/14] just the inital phase, not complete --- src/main/java/io/zipcoder/Application.java | 3 ++ src/main/java/io/zipcoder/Capybara.java | 7 ++++ src/main/java/io/zipcoder/Cat.java | 7 ++++ src/main/java/io/zipcoder/Dog.java | 8 +++++ src/main/java/io/zipcoder/Pet.java | 32 +++++++++++++++++++ src/main/java/io/zipcoder/PetOwner.java | 4 +++ .../java/io/zipcoder/ApplicationTest.java | 6 ++++ src/test/java/io/zipcoder/CapybaraTest.java | 4 +++ src/test/java/io/zipcoder/CatTest.java | 4 +++ src/test/java/io/zipcoder/DogTest.java | 23 +++++++++++++ src/test/java/io/zipcoder/PetOwnerTest.java | 4 +++ src/test/java/io/zipcoder/PetTest.java | 4 +++ 12 files changed, 106 insertions(+) create mode 100644 src/main/java/io/zipcoder/Capybara.java create mode 100644 src/main/java/io/zipcoder/Cat.java create mode 100644 src/main/java/io/zipcoder/Dog.java create mode 100644 src/main/java/io/zipcoder/Pet.java create mode 100644 src/main/java/io/zipcoder/PetOwner.java create mode 100644 src/test/java/io/zipcoder/CapybaraTest.java create mode 100644 src/test/java/io/zipcoder/CatTest.java create mode 100644 src/test/java/io/zipcoder/DogTest.java create mode 100644 src/test/java/io/zipcoder/PetOwnerTest.java create mode 100644 src/test/java/io/zipcoder/PetTest.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 3a257cb..7fffe8e 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -2,4 +2,7 @@ public class Application { + + + } diff --git a/src/main/java/io/zipcoder/Capybara.java b/src/main/java/io/zipcoder/Capybara.java new file mode 100644 index 0000000..4ab23c2 --- /dev/null +++ b/src/main/java/io/zipcoder/Capybara.java @@ -0,0 +1,7 @@ +package io.zipcoder; + +public class Capybara extends Pet { + public Capybara(String name, int age) { + super(name, age); + } +} diff --git a/src/main/java/io/zipcoder/Cat.java b/src/main/java/io/zipcoder/Cat.java new file mode 100644 index 0000000..e423641 --- /dev/null +++ b/src/main/java/io/zipcoder/Cat.java @@ -0,0 +1,7 @@ +package io.zipcoder; + +public class Cat extends Pet { + public Cat(String name, int age) { + super(name, age); + } +} diff --git a/src/main/java/io/zipcoder/Dog.java b/src/main/java/io/zipcoder/Dog.java new file mode 100644 index 0000000..6571840 --- /dev/null +++ b/src/main/java/io/zipcoder/Dog.java @@ -0,0 +1,8 @@ +package io.zipcoder; + +public class Dog extends Pet { + public Dog(String name, int age) { + super(name, age); + } + +} diff --git a/src/main/java/io/zipcoder/Pet.java b/src/main/java/io/zipcoder/Pet.java new file mode 100644 index 0000000..b6e4a85 --- /dev/null +++ b/src/main/java/io/zipcoder/Pet.java @@ -0,0 +1,32 @@ +package io.zipcoder; + +public abstract class Pet { + String name; + int age; + + public Pet(String name, int age){ + name = name; + age = age; + + } + + public int getAge(){ + return age; + } + + public void setAge(int newAge){ + age = newAge; + } + + public String getName(){ + return name; + } + + public void setName(String newName){ + name = newName; + } + + public String speak(){ + return ""; + } +} diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java new file mode 100644 index 0000000..ef690d8 --- /dev/null +++ b/src/main/java/io/zipcoder/PetOwner.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class PetOwner { +} diff --git a/src/test/java/io/zipcoder/ApplicationTest.java b/src/test/java/io/zipcoder/ApplicationTest.java index b744df5..12ee9e8 100644 --- a/src/test/java/io/zipcoder/ApplicationTest.java +++ b/src/test/java/io/zipcoder/ApplicationTest.java @@ -1,5 +1,11 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + public class ApplicationTest { + + } diff --git a/src/test/java/io/zipcoder/CapybaraTest.java b/src/test/java/io/zipcoder/CapybaraTest.java new file mode 100644 index 0000000..f588772 --- /dev/null +++ b/src/test/java/io/zipcoder/CapybaraTest.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class CapybaraTest { +} diff --git a/src/test/java/io/zipcoder/CatTest.java b/src/test/java/io/zipcoder/CatTest.java new file mode 100644 index 0000000..9f6b3bb --- /dev/null +++ b/src/test/java/io/zipcoder/CatTest.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class CatTest { +} diff --git a/src/test/java/io/zipcoder/DogTest.java b/src/test/java/io/zipcoder/DogTest.java new file mode 100644 index 0000000..5e4ce4c --- /dev/null +++ b/src/test/java/io/zipcoder/DogTest.java @@ -0,0 +1,23 @@ +package io.zipcoder; + +import org.junit.Assert; +import org.junit.Test; + +public class DogTest { + + Dog testDog = new Dog("testDog", 2); + + @Test + public void getDogNameAndAgeTest(){ + String expectedName = "testDog"; + String actualName = testDog.getName(); + + int expectedAge = 2; + int actualAge = testDog.getAge(); + + Assert.assertEquals(expectedName, actualName); + Assert.assertEquals(expectedAge, actualAge); + + } + +} diff --git a/src/test/java/io/zipcoder/PetOwnerTest.java b/src/test/java/io/zipcoder/PetOwnerTest.java new file mode 100644 index 0000000..c90e478 --- /dev/null +++ b/src/test/java/io/zipcoder/PetOwnerTest.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class PetOwnerTest { +} diff --git a/src/test/java/io/zipcoder/PetTest.java b/src/test/java/io/zipcoder/PetTest.java new file mode 100644 index 0000000..5ea8d18 --- /dev/null +++ b/src/test/java/io/zipcoder/PetTest.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class PetTest { +} From 0cd0f7db1049bc333cf7b55b4e1bf96856e288bc Mon Sep 17 00:00:00 2001 From: Amy Gill Date: Mon, 26 Feb 2018 14:59:10 -0500 Subject: [PATCH 02/14] Test cases written --- src/test/java/io/zipcoder/CapybaraTest.java | 30 +++++++++++++++++++++ src/test/java/io/zipcoder/CatTest.java | 29 ++++++++++++++++++++ src/test/java/io/zipcoder/DogTest.java | 8 ++++++ 3 files changed, 67 insertions(+) diff --git a/src/test/java/io/zipcoder/CapybaraTest.java b/src/test/java/io/zipcoder/CapybaraTest.java index f588772..f7f07b3 100644 --- a/src/test/java/io/zipcoder/CapybaraTest.java +++ b/src/test/java/io/zipcoder/CapybaraTest.java @@ -1,4 +1,34 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class CapybaraTest { + + Capybara testCapy = new Capybara("Frederick", 2); + String name; + int age; + + @Test + public void setCapyNameAndAgeTest (String newName, int newAge){ + name = newName; + age = newAge; + + String expectedName = ""; + String actualName = testCapy.getName(); + + int expectedAge = 0; + int actualAge = testCapy.getAge(); + + Assert.assertEquals(expectedName, expectedAge); + Assert.assertEquals(expectedAge, actualAge); + } + + @Test + public void speakTest(){ + Capybara testCapy = new Capybara("Patrick", 3); + String expected = ""; + String actual = testCapy.speak(); + Assert.assertEquals(expected,actual); + } } diff --git a/src/test/java/io/zipcoder/CatTest.java b/src/test/java/io/zipcoder/CatTest.java index 9f6b3bb..ffd83f8 100644 --- a/src/test/java/io/zipcoder/CatTest.java +++ b/src/test/java/io/zipcoder/CatTest.java @@ -1,4 +1,33 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class CatTest { + + Cat testCat = new Cat("Bubbles", 2); + + String name; + int age; + + @Test + public void setCatNameAndAgeTest (String newName, int newage){ + name = newName; + age = newage; + String expectedName = ""; + String actualName = testCat.getName(); + int expectedAge = 0; + int actualAge = testCat.getAge(); + + Assert.assertEquals(expectedName, expectedName); + Assert.assertEquals(expectedAge, actualAge); + } + + @Test + public void speakTest(){ + Cat testCat = new Cat("Bubbles", 2); + String expected = ""; + String actual = testCat.speak(); + Assert.assertEquals(expected, actual); + } } diff --git a/src/test/java/io/zipcoder/DogTest.java b/src/test/java/io/zipcoder/DogTest.java index 5e4ce4c..dfaa11d 100644 --- a/src/test/java/io/zipcoder/DogTest.java +++ b/src/test/java/io/zipcoder/DogTest.java @@ -20,4 +20,12 @@ public void getDogNameAndAgeTest(){ } + @Test + public void speakTest(){ + Dog testDog = new Dog("Spike",2); + String expected = ""; + String actual = testDog.speak(); + Assert.assertEquals(expected, actual); + } + } From 3739f181c2a6eb731f7fc4dc1832a9c3325764cb Mon Sep 17 00:00:00 2001 From: Amy Gill Date: Mon, 26 Feb 2018 15:55:23 -0500 Subject: [PATCH 03/14] part 1, 2 and other stuff from 3ish complete --- src/main/java/io/zipcoder/Application.java | 17 +++++++++++++++ src/main/java/io/zipcoder/PetOwner.java | 4 ---- .../{ => io/zipcoder/pets}/Capybara.java | 2 +- .../zipcoder/{ => io/zipcoder/pets}/Cat.java | 2 +- .../io/zipcoder/io/zipcoder/pets/Console.java | 21 +++++++++++++++++++ .../zipcoder/{ => io/zipcoder/pets}/Dog.java | 2 +- .../zipcoder/{ => io/zipcoder/pets}/Pet.java | 2 +- .../zipcoder/io/zipcoder/pets/PetOwner.java | 12 +++++++++++ .../zipcoder/io/zipcoder/pets/PetTypes.java | 3 +++ src/test/java/io/zipcoder/PetOwnerTest.java | 4 ---- src/test/java/io/zipcoder/PetTest.java | 4 ---- .../{ => io/zipcoder/pets}/CapybaraTest.java | 9 ++++---- .../{ => io/zipcoder/pets}/CatTest.java | 15 ++++++------- .../{ => io/zipcoder/pets}/DogTest.java | 5 +++-- .../io/zipcoder/pets/PetOwnerTest.java | 4 ++++ .../io/zipcoder/io/zipcoder/pets/PetTest.java | 4 ++++ 16 files changed, 80 insertions(+), 30 deletions(-) delete mode 100644 src/main/java/io/zipcoder/PetOwner.java rename src/main/java/io/zipcoder/{ => io/zipcoder/pets}/Capybara.java (75%) rename src/main/java/io/zipcoder/{ => io/zipcoder/pets}/Cat.java (73%) create mode 100644 src/main/java/io/zipcoder/io/zipcoder/pets/Console.java rename src/main/java/io/zipcoder/{ => io/zipcoder/pets}/Dog.java (73%) rename src/main/java/io/zipcoder/{ => io/zipcoder/pets}/Pet.java (92%) create mode 100644 src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java create mode 100644 src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java delete mode 100644 src/test/java/io/zipcoder/PetOwnerTest.java delete mode 100644 src/test/java/io/zipcoder/PetTest.java rename src/test/java/io/zipcoder/{ => io/zipcoder/pets}/CapybaraTest.java (79%) rename src/test/java/io/zipcoder/{ => io/zipcoder/pets}/CatTest.java (66%) rename src/test/java/io/zipcoder/{ => io/zipcoder/pets}/DogTest.java (84%) create mode 100644 src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java create mode 100644 src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 7fffe8e..e746a90 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,8 +1,25 @@ package io.zipcoder; +import io.zipcoder.io.zipcoder.pets.Console; +import io.zipcoder.io.zipcoder.pets.PetTypes; + +import java.util.Scanner; + public class Application { + public static void main(String[] args) { + + Console.print("Hello dear user. How many pets do you have?"); + int usersNumOfPets = Console.getInt(); + Console.print("Thanks! What kind of pets do you have? Please specify using only the following: Cat, Dog or Capybara"); + String usersKindsOfPets = Console.getString(); + PetTypes type = PetTypes.valueOf(usersKindsOfPets); + Console.print("Thanks. You entered that you have " + usersNumOfPets + "amount of pet(s) and that they are " + + type); + + } + } diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java deleted file mode 100644 index ef690d8..0000000 --- a/src/main/java/io/zipcoder/PetOwner.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder; - -public class PetOwner { -} diff --git a/src/main/java/io/zipcoder/Capybara.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java similarity index 75% rename from src/main/java/io/zipcoder/Capybara.java rename to src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java index 4ab23c2..80c3344 100644 --- a/src/main/java/io/zipcoder/Capybara.java +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java @@ -1,4 +1,4 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; public class Capybara extends Pet { public Capybara(String name, int age) { diff --git a/src/main/java/io/zipcoder/Cat.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java similarity index 73% rename from src/main/java/io/zipcoder/Cat.java rename to src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java index e423641..d6f8df1 100644 --- a/src/main/java/io/zipcoder/Cat.java +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java @@ -1,4 +1,4 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; public class Cat extends Pet { public Cat(String name, int age) { diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Console.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Console.java new file mode 100644 index 0000000..a0ac82d --- /dev/null +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Console.java @@ -0,0 +1,21 @@ +package io.zipcoder.io.zipcoder.pets; + +import java.util.Scanner; + +public class Console { + + static Scanner myScanner= new Scanner(System.in); + + public static String getString(){ + return myScanner.next(); + } + + public static int getInt(){ + return myScanner.nextInt(); + } + + public static void print(String whatever) { + System.out.println(whatever); + } + +} diff --git a/src/main/java/io/zipcoder/Dog.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java similarity index 73% rename from src/main/java/io/zipcoder/Dog.java rename to src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java index 6571840..6de412d 100644 --- a/src/main/java/io/zipcoder/Dog.java +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java @@ -1,4 +1,4 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; public class Dog extends Pet { public Dog(String name, int age) { diff --git a/src/main/java/io/zipcoder/Pet.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java similarity index 92% rename from src/main/java/io/zipcoder/Pet.java rename to src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java index b6e4a85..128b2c8 100644 --- a/src/main/java/io/zipcoder/Pet.java +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java @@ -1,4 +1,4 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; public abstract class Pet { String name; diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java b/src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java new file mode 100644 index 0000000..b02f65e --- /dev/null +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java @@ -0,0 +1,12 @@ +package io.zipcoder.io.zipcoder.pets; + +import io.zipcoder.io.zipcoder.pets.Pet; + +import java.util.ArrayList; +import java.util.List; + +public class PetOwner { + + List petManifest = new ArrayList(); + +} diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java b/src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java new file mode 100644 index 0000000..9c022c1 --- /dev/null +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java @@ -0,0 +1,3 @@ +package io.zipcoder.io.zipcoder.pets; + +public enum PetTypes { Cat, Dog, Capybara } diff --git a/src/test/java/io/zipcoder/PetOwnerTest.java b/src/test/java/io/zipcoder/PetOwnerTest.java deleted file mode 100644 index c90e478..0000000 --- a/src/test/java/io/zipcoder/PetOwnerTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder; - -public class PetOwnerTest { -} diff --git a/src/test/java/io/zipcoder/PetTest.java b/src/test/java/io/zipcoder/PetTest.java deleted file mode 100644 index 5ea8d18..0000000 --- a/src/test/java/io/zipcoder/PetTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder; - -public class PetTest { -} diff --git a/src/test/java/io/zipcoder/CapybaraTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java similarity index 79% rename from src/test/java/io/zipcoder/CapybaraTest.java rename to src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java index f7f07b3..914bc39 100644 --- a/src/test/java/io/zipcoder/CapybaraTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java @@ -1,5 +1,6 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; +import io.zipcoder.io.zipcoder.pets.Capybara; import org.junit.Assert; import org.junit.Test; @@ -10,9 +11,7 @@ public class CapybaraTest { int age; @Test - public void setCapyNameAndAgeTest (String newName, int newAge){ - name = newName; - age = newAge; + public void setCapyNameAndAgeTest (){ String expectedName = ""; String actualName = testCapy.getName(); @@ -27,7 +26,7 @@ public void setCapyNameAndAgeTest (String newName, int newAge){ @Test public void speakTest(){ Capybara testCapy = new Capybara("Patrick", 3); - String expected = ""; + String expected = "woof"; String actual = testCapy.speak(); Assert.assertEquals(expected,actual); } diff --git a/src/test/java/io/zipcoder/CatTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java similarity index 66% rename from src/test/java/io/zipcoder/CatTest.java rename to src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java index ffd83f8..b196114 100644 --- a/src/test/java/io/zipcoder/CatTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java @@ -1,5 +1,6 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; +import io.zipcoder.io.zipcoder.pets.Cat; import org.junit.Assert; import org.junit.Test; @@ -11,12 +12,12 @@ public class CatTest { int age; @Test - public void setCatNameAndAgeTest (String newName, int newage){ - name = newName; - age = newage; - String expectedName = ""; + public void setCatNameAndAgeTest (){ +// name = newName; +// age = newage; + String expectedName = "wrong"; String actualName = testCat.getName(); - int expectedAge = 0; + int expectedAge = 200; int actualAge = testCat.getAge(); Assert.assertEquals(expectedName, expectedName); @@ -26,7 +27,7 @@ public void setCatNameAndAgeTest (String newName, int newage){ @Test public void speakTest(){ Cat testCat = new Cat("Bubbles", 2); - String expected = ""; + String expected = "wrong"; String actual = testCat.speak(); Assert.assertEquals(expected, actual); } diff --git a/src/test/java/io/zipcoder/DogTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java similarity index 84% rename from src/test/java/io/zipcoder/DogTest.java rename to src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java index dfaa11d..70ec774 100644 --- a/src/test/java/io/zipcoder/DogTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java @@ -1,5 +1,6 @@ -package io.zipcoder; +package io.zipcoder.io.zipcoder.pets; +import io.zipcoder.io.zipcoder.pets.Dog; import org.junit.Assert; import org.junit.Test; @@ -23,7 +24,7 @@ public void getDogNameAndAgeTest(){ @Test public void speakTest(){ Dog testDog = new Dog("Spike",2); - String expected = ""; + String expected = "Spike"; String actual = testDog.speak(); Assert.assertEquals(expected, actual); } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java new file mode 100644 index 0000000..09224b3 --- /dev/null +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.io.zipcoder.pets; + +public class PetOwnerTest { +} diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java new file mode 100644 index 0000000..7569378 --- /dev/null +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.io.zipcoder.pets; + +public class PetTest { +} From cc5e850bf7708858f3f19e6897438aa22f300fc1 Mon Sep 17 00:00:00 2001 From: Amy Gill Date: Mon, 26 Feb 2018 16:22:17 -0500 Subject: [PATCH 04/14] ready to go to patrick --- src/main/java/io/zipcoder/Application.java | 7 +++++-- .../io/zipcoder/io/zipcoder/pets/Pet.java | 20 +++++++++---------- .../io/zipcoder/io/zipcoder/pets/DogTest.java | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index e746a90..8d32f0b 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -4,6 +4,7 @@ import io.zipcoder.io.zipcoder.pets.Console; import io.zipcoder.io.zipcoder.pets.PetTypes; +import java.util.Arrays; import java.util.Scanner; public class Application { @@ -12,10 +13,12 @@ public static void main(String[] args) { Console.print("Hello dear user. How many pets do you have?"); int usersNumOfPets = Console.getInt(); - Console.print("Thanks! What kind of pets do you have? Please specify using only the following: Cat, Dog or Capybara"); + Console.print("Thanks! What kind of pets do you have? Please specify using only the following:"); + String petOptions = Arrays.toString(PetTypes.values()); + Console.print(petOptions); String usersKindsOfPets = Console.getString(); PetTypes type = PetTypes.valueOf(usersKindsOfPets); - Console.print("Thanks. You entered that you have " + usersNumOfPets + "amount of pet(s) and that they are " + + Console.print("Thanks. You entered that you have " + usersNumOfPets + " pet(s) and that they are " + type); } diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java index 128b2c8..5057d3a 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java +++ b/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java @@ -1,32 +1,30 @@ package io.zipcoder.io.zipcoder.pets; public abstract class Pet { - String name; - int age; + private String name; + private Integer age; public Pet(String name, int age){ - name = name; - age = age; - + this.name = null; + this.age = null; } - public int getAge(){ - return age; + public Integer getAge(){ + return null; } public void setAge(int newAge){ - age = newAge; + } public String getName(){ - return name; + return null; } public void setName(String newName){ - name = newName; } public String speak(){ - return ""; + return null; } } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java index 70ec774..3bf6506 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java @@ -9,7 +9,7 @@ public class DogTest { Dog testDog = new Dog("testDog", 2); @Test - public void getDogNameAndAgeTest(){ + public void setDogNameAndAgeTest(){ String expectedName = "testDog"; String actualName = testDog.getName(); From 1249cc082698bc7bc8326d9c2a50dc848ac09dae Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Mon, 26 Feb 2018 16:57:38 -0500 Subject: [PATCH 05/14] refactor structure --- src/main/java/io/zipcoder/Application.java | 5 ++--- .../java/io/zipcoder/{io/zipcoder/pets => }/PetOwner.java | 4 ++-- .../io/zipcoder/{io/zipcoder/pets => Pets}/Capybara.java | 2 +- .../java/io/zipcoder/{io/zipcoder/pets => Pets}/Cat.java | 2 +- .../java/io/zipcoder/{io/zipcoder/pets => Pets}/Console.java | 2 +- .../java/io/zipcoder/{io/zipcoder/pets => Pets}/Dog.java | 2 +- .../java/io/zipcoder/{io/zipcoder/pets => Pets}/Pet.java | 2 +- .../io/zipcoder/{io/zipcoder/pets => Pets}/PetTypes.java | 2 +- src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java | 2 +- src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java | 2 +- src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java | 2 +- 11 files changed, 13 insertions(+), 14 deletions(-) rename src/main/java/io/zipcoder/{io/zipcoder/pets => }/PetOwner.java (62%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/Capybara.java (75%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/Cat.java (73%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/Console.java (90%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/Dog.java (73%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/Pet.java (92%) rename src/main/java/io/zipcoder/{io/zipcoder/pets => Pets}/PetTypes.java (54%) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 8d32f0b..371fefc 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,11 +1,10 @@ package io.zipcoder; -import io.zipcoder.io.zipcoder.pets.Console; -import io.zipcoder.io.zipcoder.pets.PetTypes; +import io.zipcoder.Pets.Console; +import io.zipcoder.Pets.PetTypes; import java.util.Arrays; -import java.util.Scanner; public class Application { diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java similarity index 62% rename from src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java rename to src/main/java/io/zipcoder/PetOwner.java index b02f65e..63eb1d0 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/PetOwner.java +++ b/src/main/java/io/zipcoder/PetOwner.java @@ -1,6 +1,6 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder; -import io.zipcoder.io.zipcoder.pets.Pet; +import io.zipcoder.Pets.Pet; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java b/src/main/java/io/zipcoder/Pets/Capybara.java similarity index 75% rename from src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java rename to src/main/java/io/zipcoder/Pets/Capybara.java index 80c3344..c527259 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Capybara.java +++ b/src/main/java/io/zipcoder/Pets/Capybara.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; public class Capybara extends Pet { public Capybara(String name, int age) { diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java b/src/main/java/io/zipcoder/Pets/Cat.java similarity index 73% rename from src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java rename to src/main/java/io/zipcoder/Pets/Cat.java index d6f8df1..bffd46b 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Cat.java +++ b/src/main/java/io/zipcoder/Pets/Cat.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; public class Cat extends Pet { public Cat(String name, int age) { diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Console.java b/src/main/java/io/zipcoder/Pets/Console.java similarity index 90% rename from src/main/java/io/zipcoder/io/zipcoder/pets/Console.java rename to src/main/java/io/zipcoder/Pets/Console.java index a0ac82d..198c382 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Console.java +++ b/src/main/java/io/zipcoder/Pets/Console.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; import java.util.Scanner; diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java b/src/main/java/io/zipcoder/Pets/Dog.java similarity index 73% rename from src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java rename to src/main/java/io/zipcoder/Pets/Dog.java index 6de412d..58eb2e1 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Dog.java +++ b/src/main/java/io/zipcoder/Pets/Dog.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; public class Dog extends Pet { public Dog(String name, int age) { diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java similarity index 92% rename from src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java rename to src/main/java/io/zipcoder/Pets/Pet.java index 5057d3a..ad94b5d 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; public abstract class Pet { private String name; diff --git a/src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java b/src/main/java/io/zipcoder/Pets/PetTypes.java similarity index 54% rename from src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java rename to src/main/java/io/zipcoder/Pets/PetTypes.java index 9c022c1..6299d16 100644 --- a/src/main/java/io/zipcoder/io/zipcoder/pets/PetTypes.java +++ b/src/main/java/io/zipcoder/Pets/PetTypes.java @@ -1,3 +1,3 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.Pets; public enum PetTypes { Cat, Dog, Capybara } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java index 914bc39..cd4e0de 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java @@ -1,6 +1,6 @@ package io.zipcoder.io.zipcoder.pets; -import io.zipcoder.io.zipcoder.pets.Capybara; +import io.zipcoder.Pets.Capybara; import org.junit.Assert; import org.junit.Test; diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java index b196114..2404c5e 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java @@ -1,6 +1,6 @@ package io.zipcoder.io.zipcoder.pets; -import io.zipcoder.io.zipcoder.pets.Cat; +import io.zipcoder.Pets.Cat; import org.junit.Assert; import org.junit.Test; diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java index 3bf6506..e6adf8b 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java @@ -1,6 +1,6 @@ package io.zipcoder.io.zipcoder.pets; -import io.zipcoder.io.zipcoder.pets.Dog; +import io.zipcoder.Pets.Dog; import org.junit.Assert; import org.junit.Test; From 286b560ccc3fca8fe95a9db54416c6aadbb2f6a2 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Mon, 26 Feb 2018 23:09:15 -0500 Subject: [PATCH 06/14] begin decouple from main --- pom.xml | 14 +++++++ src/main/java/io/zipcoder/Application.java | 38 +++++++++++++------ src/main/java/io/zipcoder/Pets/Capybara.java | 31 +++++++++++++-- src/main/java/io/zipcoder/Pets/Cat.java | 31 +++++++++++++-- src/main/java/io/zipcoder/Pets/Dog.java | 31 +++++++++++++-- src/main/java/io/zipcoder/Pets/Pet.java | 27 +++---------- src/main/java/io/zipcoder/Pets/PetTypes.java | 6 ++- .../io/zipcoder/pets/CapybaraTest.java | 19 ++++++---- .../io/zipcoder/io/zipcoder/pets/CatTest.java | 20 +++++----- .../io/zipcoder/io/zipcoder/pets/DogTest.java | 10 ++++- 10 files changed, 166 insertions(+), 61 deletions(-) diff --git a/pom.xml b/pom.xml index d73c078..7ba99c0 100644 --- a/pom.xml +++ b/pom.xml @@ -8,6 +8,20 @@ Interfaces 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + (whatever version is current) + + 1.7 + 1.7 + + + + + junit diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 371fefc..29412a0 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,9 +1,9 @@ package io.zipcoder; -import io.zipcoder.Pets.Console; -import io.zipcoder.Pets.PetTypes; +import io.zipcoder.Pets.*; +import java.util.ArrayList; import java.util.Arrays; public class Application { @@ -13,15 +13,31 @@ public static void main(String[] args) { Console.print("Hello dear user. How many pets do you have?"); int usersNumOfPets = Console.getInt(); Console.print("Thanks! What kind of pets do you have? Please specify using only the following:"); - String petOptions = Arrays.toString(PetTypes.values()); - Console.print(petOptions); - String usersKindsOfPets = Console.getString(); - PetTypes type = PetTypes.valueOf(usersKindsOfPets); - Console.print("Thanks. You entered that you have " + usersNumOfPets + " pet(s) and that they are " + - type); - + ArrayList petArrayList = new ArrayList<>(); + for (int i = 0; i < usersNumOfPets; i++) { + Console.print(Arrays.toString(PetTypes.values())); + String usersKindOfPets = Console.getString(); + Console.print("What's their name?"); + String name = Console.getString(); + Console.print("How old is this pet?"); + int age = Console.getInt(); + Pet tempPet; + switch (usersKindOfPets.toLowerCase()) { + case "cat": + tempPet = new Cat(name, age); + petArrayList.add(tempPet); + break; + case "dog": + tempPet = new Dog(name, age); + petArrayList.add(tempPet); + break; + case "capybara": + tempPet = new Capybara(name, age); + petArrayList.add(tempPet); + break; + } + } } +} - -} diff --git a/src/main/java/io/zipcoder/Pets/Capybara.java b/src/main/java/io/zipcoder/Pets/Capybara.java index c527259..f12778d 100644 --- a/src/main/java/io/zipcoder/Pets/Capybara.java +++ b/src/main/java/io/zipcoder/Pets/Capybara.java @@ -1,7 +1,32 @@ package io.zipcoder.Pets; -public class Capybara extends Pet { - public Capybara(String name, int age) { - super(name, age); +public class Capybara implements Pet { + + public String name; + public Integer age; + + public Capybara(String name, int age){ + this.name = name; + this.age = age; + } + + public String getName() { + return name; + } + + public Integer getAge() { + return age; + } + + public void setName(String newName) { + this.name = newName; + } + + public void setAge(int age) { + this.age = age; + } + + public String speak() { + return "It's me, the Capybara"; } } diff --git a/src/main/java/io/zipcoder/Pets/Cat.java b/src/main/java/io/zipcoder/Pets/Cat.java index bffd46b..a732365 100644 --- a/src/main/java/io/zipcoder/Pets/Cat.java +++ b/src/main/java/io/zipcoder/Pets/Cat.java @@ -1,7 +1,32 @@ package io.zipcoder.Pets; -public class Cat extends Pet { - public Cat(String name, int age) { - super(name, age); +public class Cat implements Pet { + + public String name; + public Integer age; + + public Cat(String name, int age){ + this.name = name; + this.age = age; + } + + public String getName() { + return name; + } + + public Integer getAge() { + return age; + } + + public void setName(String newName) { + + } + + public void setAge(int age) { + + } + + 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 58eb2e1..1248a92 100644 --- a/src/main/java/io/zipcoder/Pets/Dog.java +++ b/src/main/java/io/zipcoder/Pets/Dog.java @@ -1,8 +1,33 @@ package io.zipcoder.Pets; -public class Dog extends Pet { - public Dog(String name, int age) { - super(name, age); +public class Dog implements Pet { + + public String name; + public Integer age; + + public Dog(String name, int age){ + this.name = name; + this.age = age; + } + + public String getName() { + return name; + } + + public Integer getAge() { + return age; + } + + public void setName(String newName) { + this.name = newName; + } + + public void setAge(int age) { + this.age = age; + } + + public String speak() { + return "Woof"; } } diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index ad94b5d..cd740de 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,30 +1,15 @@ package io.zipcoder.Pets; -public abstract class Pet { - private String name; - private Integer age; +public interface Pet { - public Pet(String name, int age){ - this.name = null; - this.age = null; - } + public Integer getAge(); - public Integer getAge(){ - return null; - } + public void setAge(int age); - public void setAge(int newAge){ + public String getName(); - } + public void setName(String newName); - public String getName(){ - return null; - } + public String speak(); - public void setName(String newName){ - } - - public String speak(){ - return null; - } } diff --git a/src/main/java/io/zipcoder/Pets/PetTypes.java b/src/main/java/io/zipcoder/Pets/PetTypes.java index 6299d16..c291699 100644 --- a/src/main/java/io/zipcoder/Pets/PetTypes.java +++ b/src/main/java/io/zipcoder/Pets/PetTypes.java @@ -1,3 +1,7 @@ package io.zipcoder.Pets; -public enum PetTypes { Cat, Dog, Capybara } +public enum PetTypes { + Cat, + Dog, + Capybara +} diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java index cd4e0de..a86690a 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java @@ -2,31 +2,34 @@ import io.zipcoder.Pets.Capybara; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; public class CapybaraTest { - Capybara testCapy = new Capybara("Frederick", 2); - String name; - int age; + Capybara testCapy; + + @Before + public void setup(){ + testCapy = new Capybara("Frederick", 2); + } @Test public void setCapyNameAndAgeTest (){ - String expectedName = ""; + String expectedName = "Frederick"; String actualName = testCapy.getName(); - int expectedAge = 0; + int expectedAge = 2; int actualAge = testCapy.getAge(); - Assert.assertEquals(expectedName, expectedAge); + Assert.assertEquals(expectedName, actualName); Assert.assertEquals(expectedAge, actualAge); } @Test public void speakTest(){ - Capybara testCapy = new Capybara("Patrick", 3); - String expected = "woof"; + String expected = "It's me, the Capybara"; String actual = testCapy.speak(); Assert.assertEquals(expected,actual); } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java index 2404c5e..81724fc 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java @@ -2,32 +2,34 @@ import io.zipcoder.Pets.Cat; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; public class CatTest { - Cat testCat = new Cat("Bubbles", 2); + Cat testCat; + + @Before + public void setup(){ + testCat = new Cat("Bubbles", 2); + } - String name; - int age; @Test public void setCatNameAndAgeTest (){ -// name = newName; -// age = newage; - String expectedName = "wrong"; + String expectedName = "Bubbles"; String actualName = testCat.getName(); - int expectedAge = 200; + int expectedAge = 2; int actualAge = testCat.getAge(); - Assert.assertEquals(expectedName, expectedName); + Assert.assertEquals(expectedName, actualName); Assert.assertEquals(expectedAge, actualAge); } @Test public void speakTest(){ Cat testCat = new Cat("Bubbles", 2); - String expected = "wrong"; + String expected = "Meow"; String actual = testCat.speak(); Assert.assertEquals(expected, actual); } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java index e6adf8b..ff3d36e 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java @@ -2,11 +2,17 @@ import io.zipcoder.Pets.Dog; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; public class DogTest { - Dog testDog = new Dog("testDog", 2); + Dog testDog; + + @Before + public void setup(){ + testDog = new Dog("testDog", 2); + } @Test public void setDogNameAndAgeTest(){ @@ -24,7 +30,7 @@ public void setDogNameAndAgeTest(){ @Test public void speakTest(){ Dog testDog = new Dog("Spike",2); - String expected = "Spike"; + String expected = "Woof"; String actual = testDog.speak(); Assert.assertEquals(expected, actual); } From 5bc8c43825a192c1e7d982d0eba54130b869cbee Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Mon, 26 Feb 2018 23:47:08 -0500 Subject: [PATCH 07/14] denoodle --- src/main/java/io/zipcoder/Application.java | 36 +-------------- src/main/java/io/zipcoder/PetOwner.java | 6 ++- src/main/java/io/zipcoder/Pets/Capybara.java | 22 +--------- src/main/java/io/zipcoder/Pets/Cat.java | 21 +-------- src/main/java/io/zipcoder/Pets/Dog.java | 21 +-------- src/main/java/io/zipcoder/Pets/Pet.java | 41 ++++++++++++++--- src/main/java/io/zipcoder/Questionairre.java | 46 ++++++++++++++++++++ 7 files changed, 92 insertions(+), 101 deletions(-) create mode 100644 src/main/java/io/zipcoder/Questionairre.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 29412a0..a989bc8 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,42 +1,10 @@ package io.zipcoder; - -import io.zipcoder.Pets.*; - -import java.util.ArrayList; -import java.util.Arrays; - public class Application { public static void main(String[] args) { - - Console.print("Hello dear user. How many pets do you have?"); - int usersNumOfPets = Console.getInt(); - Console.print("Thanks! What kind of pets do you have? Please specify using only the following:"); - ArrayList petArrayList = new ArrayList<>(); - for (int i = 0; i < usersNumOfPets; i++) { - Console.print(Arrays.toString(PetTypes.values())); - String usersKindOfPets = Console.getString(); - Console.print("What's their name?"); - String name = Console.getString(); - Console.print("How old is this pet?"); - int age = Console.getInt(); - Pet tempPet; - switch (usersKindOfPets.toLowerCase()) { - case "cat": - tempPet = new Cat(name, age); - petArrayList.add(tempPet); - break; - case "dog": - tempPet = new Dog(name, age); - petArrayList.add(tempPet); - break; - case "capybara": - tempPet = new Capybara(name, age); - petArrayList.add(tempPet); - break; - } - } + Questionairre form = new Questionairre(); + form.prompt(); } } diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java index 63eb1d0..2cece6d 100644 --- a/src/main/java/io/zipcoder/PetOwner.java +++ b/src/main/java/io/zipcoder/PetOwner.java @@ -7,6 +7,10 @@ public class PetOwner { - List petManifest = new ArrayList(); + List petManifest; + + PetOwner(ArrayList initialList){ + this.petManifest = initialList; + } } diff --git a/src/main/java/io/zipcoder/Pets/Capybara.java b/src/main/java/io/zipcoder/Pets/Capybara.java index f12778d..64a3534 100644 --- a/src/main/java/io/zipcoder/Pets/Capybara.java +++ b/src/main/java/io/zipcoder/Pets/Capybara.java @@ -1,32 +1,14 @@ package io.zipcoder.Pets; -public class Capybara implements Pet { - - public String name; - public Integer age; +public class Capybara extends Pet{ public Capybara(String name, int age){ this.name = name; this.age = age; } - public String getName() { - return name; - } - - public Integer getAge() { - return age; - } - - public void setName(String newName) { - this.name = newName; - } - - public void setAge(int age) { - this.age = age; - } - public String speak() { return "It's me, the Capybara"; } + } diff --git a/src/main/java/io/zipcoder/Pets/Cat.java b/src/main/java/io/zipcoder/Pets/Cat.java index a732365..4c26e42 100644 --- a/src/main/java/io/zipcoder/Pets/Cat.java +++ b/src/main/java/io/zipcoder/Pets/Cat.java @@ -1,31 +1,12 @@ package io.zipcoder.Pets; -public class Cat implements Pet { - - public String name; - public Integer age; +public class Cat extends Pet { public Cat(String name, int age){ this.name = name; this.age = age; } - public String getName() { - return name; - } - - public Integer getAge() { - return age; - } - - public void setName(String newName) { - - } - - public void setAge(int age) { - - } - 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 1248a92..1799ada 100644 --- a/src/main/java/io/zipcoder/Pets/Dog.java +++ b/src/main/java/io/zipcoder/Pets/Dog.java @@ -1,31 +1,12 @@ package io.zipcoder.Pets; -public class Dog implements Pet { - - public String name; - public Integer age; +public class Dog extends Pet { public Dog(String name, int age){ this.name = name; this.age = age; } - public String getName() { - return name; - } - - public Integer getAge() { - return age; - } - - public void setName(String newName) { - this.name = newName; - } - - public void setAge(int age) { - this.age = age; - } - public String speak() { return "Woof"; } diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index cd740de..0ba99dd 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,15 +1,44 @@ package io.zipcoder.Pets; -public interface Pet { +public abstract class Pet{ - public Integer getAge(); + public String name; + public Integer age; - public void setAge(int age); + public Pet(String name, int age){ + this.name = name; + this.age = age; + } - public String getName(); + public Pet(){ + this.name = ""; + this.age = Integer.MAX_VALUE; + } - public void setName(String newName); + public String getName() { + return name; + } - public String speak(); + public Integer getAge() { + return age; + } + + public void setName(String newName) { + this.name = newName; + } + + public void setAge(int age) { + this.age = age; + } + + public abstract String speak(); + +public int compareTo(Pet other) { + // compareTo should return < 0 if this is supposed to be + // less than other, > 0 if this is supposed to be greater than + // other and 0 if they are supposed to be equal + int petType = this.getClass().getSimpleName().compareTo(other.getClass().getSimpleName()); + return petType == 0 ? this.getName().compareTo(other.getName()) : petType; + } } diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java new file mode 100644 index 0000000..07d8808 --- /dev/null +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -0,0 +1,46 @@ +package io.zipcoder; + +import io.zipcoder.Pets.*; + +import java.util.ArrayList; +import java.util.Arrays; + +public class Questionairre { + + public void prompt(){ + Console.print("Hello dear user. How many pets do you have?"); + int usersNumOfPets = Console.getInt(); + Console.print("Thanks! What kind of pets do you have? Please specify using only the following:"); + ArrayList petArrayList = new ArrayList<>(); + for (int i = 0; i < usersNumOfPets; i++) { + Console.print(Arrays.toString(PetTypes.values())); + String usersKindOfPets = Console.getString(); + Console.print("What's their name?"); + String name = Console.getString(); + Console.print("How old is this pet?"); + int age = Console.getInt(); + Pet tempPet; + switch (usersKindOfPets.toLowerCase()) { + case "cat": + tempPet = new Cat(name, age); + petArrayList.add(tempPet); + break; + case "dog": + tempPet = new Dog(name, age); + petArrayList.add(tempPet); + break; + case "capybara": + tempPet = new Capybara(name, age); + petArrayList.add(tempPet); + break; + } + PetOwner newOwner = new PetOwner(petArrayList); + String petList = ""; + for (Pet currentPet:petArrayList) { + petList += ("The " + currentPet.getClass().getSimpleName() + " named " + currentPet.getName() + + " says " + currentPet.speak() + ". "); + } + System.out.println(petList); + } +} +} From 1d20dbab01c480ff161cabdb23d713b643dc9cb9 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 10:36:29 -0500 Subject: [PATCH 08/14] stash --- src/main/java/io/zipcoder/PetOwner.java | 4 +++- src/main/java/io/zipcoder/Pets/Pet.java | 14 ++++++++++++-- src/main/java/io/zipcoder/Questionairre.java | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java index 2cece6d..c27d17c 100644 --- a/src/main/java/io/zipcoder/PetOwner.java +++ b/src/main/java/io/zipcoder/PetOwner.java @@ -3,14 +3,16 @@ import io.zipcoder.Pets.Pet; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class PetOwner { - List petManifest; + ArrayList petManifest; PetOwner(ArrayList initialList){ this.petManifest = initialList; } + } diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index 0ba99dd..1abb2c9 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,5 +1,8 @@ package io.zipcoder.Pets; +import java.util.Arrays; +import java.util.Comparator; + public abstract class Pet{ public String name; @@ -33,12 +36,19 @@ public void setAge(int age) { public abstract String speak(); -public int compareTo(Pet other) { + public int compareTo(Pet other) { // compareTo should return < 0 if this is supposed to be // less than other, > 0 if this is supposed to be greater than // other and 0 if they are supposed to be equal int petType = this.getClass().getSimpleName().compareTo(other.getClass().getSimpleName()); return petType == 0 ? this.getName().compareTo(other.getName()) : petType; - } + } + + public Comparator petComparator = (pet1, pet2) -> pet1.getClass().getSimpleName() - pet2.getClass().getSimpleName(); + + @Override + Arrays.sort(pet, ){ + + } } diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java index 07d8808..499a608 100644 --- a/src/main/java/io/zipcoder/Questionairre.java +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -35,6 +35,7 @@ public void prompt(){ break; } PetOwner newOwner = new PetOwner(petArrayList); + newOwner.sort(); String petList = ""; for (Pet currentPet:petArrayList) { petList += ("The " + currentPet.getClass().getSimpleName() + " named " + currentPet.getName() From 151d83ec176f37297724c22fa8b9c640d7d1e39e Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 13:21:40 -0500 Subject: [PATCH 09/14] remove some spaghet --- src/main/java/io/zipcoder/Application.java | 6 +- src/main/java/io/zipcoder/PetOwner.java | 4 +- src/main/java/io/zipcoder/Pets/Pet.java | 15 +---- src/main/java/io/zipcoder/Questionairre.java | 68 ++++++++++++++------ 4 files changed, 58 insertions(+), 35 deletions(-) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index a989bc8..75403d4 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,10 +1,14 @@ package io.zipcoder; +import java.util.Collections; + public class Application { public static void main(String[] args) { Questionairre form = new Questionairre(); - form.prompt(); + form.numOfPetsPrompt(); + form.setPetArrayList(); + form.petListSort(); } } diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java index c27d17c..cbc20fb 100644 --- a/src/main/java/io/zipcoder/PetOwner.java +++ b/src/main/java/io/zipcoder/PetOwner.java @@ -4,15 +4,15 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; public class PetOwner { - ArrayList petManifest; + public ArrayList petManifest; PetOwner(ArrayList initialList){ this.petManifest = initialList; } - } diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index 1abb2c9..65fa532 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -36,19 +36,8 @@ public void setAge(int age) { public abstract String speak(); - public int compareTo(Pet other) { - // compareTo should return < 0 if this is supposed to be - // less than other, > 0 if this is supposed to be greater than - // other and 0 if they are supposed to be equal - int petType = this.getClass().getSimpleName().compareTo(other.getClass().getSimpleName()); - return petType == 0 ? this.getName().compareTo(other.getName()) : petType; - } - - public Comparator petComparator = (pet1, pet2) -> pet1.getClass().getSimpleName() - pet2.getClass().getSimpleName(); - - @Override - Arrays.sort(pet, ){ - + public int compare(Pet p1, Pet p2){ + return p1.getClass().getSimpleName().compareTo(p2.getClass().getSimpleName()); } } diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java index 499a608..ae1fd6c 100644 --- a/src/main/java/io/zipcoder/Questionairre.java +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -4,21 +4,60 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; public class Questionairre { - public void prompt(){ + protected int numOfPets; + protected ArrayList petArrayList; + + public Questionairre(){ + petArrayList = new ArrayList<>(); + } + + public void numOfPetsPrompt() { Console.print("Hello dear user. How many pets do you have?"); - int usersNumOfPets = Console.getInt(); + numOfPets = Console.getInt(); + } + + public void setPetArrayList(){ Console.print("Thanks! What kind of pets do you have? Please specify using only the following:"); - ArrayList petArrayList = new ArrayList<>(); - for (int i = 0; i < usersNumOfPets; i++) { - Console.print(Arrays.toString(PetTypes.values())); - String usersKindOfPets = Console.getString(); - Console.print("What's their name?"); - String name = Console.getString(); - Console.print("How old is this pet?"); - int age = Console.getInt(); + for (int i = 0; i < numOfPets; i++) { + Console.print(Arrays.toString(PetTypes.values())); + String usersKindOfPets = Console.getString(); + Console.print("What's their name?"); + String name = Console.getString(); + Console.print("How old is this pet?"); + int age = Console.getInt(); + Pet tempPet; + petTypeSwitch(usersKindOfPets, name, age); + PetOwner newOwner = new PetOwner(petArrayList); + } + } + + public void speakNSay() { + String petList = ""; + for (Pet currentPet:petArrayList) { + petList += ("The " + currentPet.getClass().getSimpleName() + " named " + currentPet.getName() + + " says " + currentPet.speak() + ". "); + } + System.out.println(petList); + } + + public void petListSort() { + Collections.sort(petArrayList, new Comparator() { + @Override + public int compare(Pet o1, Pet o2) { + return o1.getClass().getSimpleName().compareTo(o2.getClass().getSimpleName()); + } + }); + for (Pet pet:petArrayList) { + System.out.println(pet.getName()); + } + } + + public void petTypeSwitch(String usersKindOfPets, String name, int age) { Pet tempPet; switch (usersKindOfPets.toLowerCase()) { case "cat": @@ -34,14 +73,5 @@ public void prompt(){ petArrayList.add(tempPet); break; } - PetOwner newOwner = new PetOwner(petArrayList); - newOwner.sort(); - String petList = ""; - for (Pet currentPet:petArrayList) { - petList += ("The " + currentPet.getClass().getSimpleName() + " named " + currentPet.getName() - + " says " + currentPet.speak() + ". "); - } - System.out.println(petList); } } -} From 7f9c5dda0fa21ba903bd724adc454afa8c380125 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 13:34:21 -0500 Subject: [PATCH 10/14] detangled, move to add tests --- src/main/java/io/zipcoder/Application.java | 3 +-- src/main/java/io/zipcoder/PetOwner.java | 18 ------------------ src/main/java/io/zipcoder/Pets/Pet.java | 3 --- src/main/java/io/zipcoder/Questionairre.java | 2 -- .../io/zipcoder/pets/PetOwnerTest.java | 4 ---- 5 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 src/main/java/io/zipcoder/PetOwner.java delete mode 100644 src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 75403d4..9f1296a 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,13 +1,12 @@ package io.zipcoder; -import java.util.Collections; - public class Application { public static void main(String[] args) { Questionairre form = new Questionairre(); form.numOfPetsPrompt(); form.setPetArrayList(); + form.speakNSay(); form.petListSort(); } } diff --git a/src/main/java/io/zipcoder/PetOwner.java b/src/main/java/io/zipcoder/PetOwner.java deleted file mode 100644 index cbc20fb..0000000 --- a/src/main/java/io/zipcoder/PetOwner.java +++ /dev/null @@ -1,18 +0,0 @@ -package io.zipcoder; - -import io.zipcoder.Pets.Pet; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -public class PetOwner { - - public ArrayList petManifest; - - PetOwner(ArrayList initialList){ - this.petManifest = initialList; - } - -} diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index 65fa532..09f6f4e 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,8 +1,5 @@ package io.zipcoder.Pets; -import java.util.Arrays; -import java.util.Comparator; - public abstract class Pet{ public String name; diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java index ae1fd6c..2657311 100644 --- a/src/main/java/io/zipcoder/Questionairre.java +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -30,9 +30,7 @@ public void setPetArrayList(){ String name = Console.getString(); Console.print("How old is this pet?"); int age = Console.getInt(); - Pet tempPet; petTypeSwitch(usersKindOfPets, name, age); - PetOwner newOwner = new PetOwner(petArrayList); } } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java deleted file mode 100644 index 09224b3..0000000 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/PetOwnerTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder.io.zipcoder.pets; - -public class PetOwnerTest { -} From 6ec682cc8a0814c30e687a3fb88708b9d4d747f5 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 13:45:39 -0500 Subject: [PATCH 11/14] restructure test files --- .../{ApplicationTest.java => QuestionairreTest.java} | 6 ++---- src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java | 4 ---- .../io/zipcoder/{io/zipcoder => }/pets/CapybaraTest.java | 2 +- .../java/io/zipcoder/{io/zipcoder => }/pets/CatTest.java | 2 +- .../java/io/zipcoder/{io/zipcoder => }/pets/DogTest.java | 2 +- src/test/java/io/zipcoder/pets/PetTest.java | 4 ++++ 6 files changed, 9 insertions(+), 11 deletions(-) rename src/test/java/io/zipcoder/{ApplicationTest.java => QuestionairreTest.java} (59%) delete mode 100644 src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java rename src/test/java/io/zipcoder/{io/zipcoder => }/pets/CapybaraTest.java (95%) rename src/test/java/io/zipcoder/{io/zipcoder => }/pets/CatTest.java (95%) rename src/test/java/io/zipcoder/{io/zipcoder => }/pets/DogTest.java (95%) create mode 100644 src/test/java/io/zipcoder/pets/PetTest.java diff --git a/src/test/java/io/zipcoder/ApplicationTest.java b/src/test/java/io/zipcoder/QuestionairreTest.java similarity index 59% rename from src/test/java/io/zipcoder/ApplicationTest.java rename to src/test/java/io/zipcoder/QuestionairreTest.java index 12ee9e8..1b0ddf5 100644 --- a/src/test/java/io/zipcoder/ApplicationTest.java +++ b/src/test/java/io/zipcoder/QuestionairreTest.java @@ -1,11 +1,9 @@ package io.zipcoder; - +import io.zipcoder.Pets.Capybara; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -public class ApplicationTest { - - +public class QuestionairreTest { } diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java b/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java deleted file mode 100644 index 7569378..0000000 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/PetTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder.io.zipcoder.pets; - -public class PetTest { -} diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java b/src/test/java/io/zipcoder/pets/CapybaraTest.java similarity index 95% rename from src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java rename to src/test/java/io/zipcoder/pets/CapybaraTest.java index a86690a..9298372 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CapybaraTest.java +++ b/src/test/java/io/zipcoder/pets/CapybaraTest.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.pets; import io.zipcoder.Pets.Capybara; import org.junit.Assert; diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java b/src/test/java/io/zipcoder/pets/CatTest.java similarity index 95% rename from src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java rename to src/test/java/io/zipcoder/pets/CatTest.java index 81724fc..932f2a6 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/CatTest.java +++ b/src/test/java/io/zipcoder/pets/CatTest.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.pets; import io.zipcoder.Pets.Cat; import org.junit.Assert; diff --git a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java b/src/test/java/io/zipcoder/pets/DogTest.java similarity index 95% rename from src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java rename to src/test/java/io/zipcoder/pets/DogTest.java index ff3d36e..a413658 100644 --- a/src/test/java/io/zipcoder/io/zipcoder/pets/DogTest.java +++ b/src/test/java/io/zipcoder/pets/DogTest.java @@ -1,4 +1,4 @@ -package io.zipcoder.io.zipcoder.pets; +package io.zipcoder.pets; import io.zipcoder.Pets.Dog; import org.junit.Assert; diff --git a/src/test/java/io/zipcoder/pets/PetTest.java b/src/test/java/io/zipcoder/pets/PetTest.java new file mode 100644 index 0000000..a783834 --- /dev/null +++ b/src/test/java/io/zipcoder/pets/PetTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.pets; + +public class PetTest { +} From c6cd011fd050accf44b60fcbc7cada03e02a4586 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 15:02:42 -0500 Subject: [PATCH 12/14] add two comparators and corresponding sort methods --- src/main/java/io/zipcoder/SortByName.java | 4 ++ src/main/java/io/zipcoder/SortByPetType.java | 4 ++ .../java/io/zipcoder/QuestionairreTest.java | 63 +++++++++++++++++++ src/test/java/io/zipcoder/pets/PetTest.java | 4 -- 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 src/main/java/io/zipcoder/SortByName.java create mode 100644 src/main/java/io/zipcoder/SortByPetType.java delete mode 100644 src/test/java/io/zipcoder/pets/PetTest.java diff --git a/src/main/java/io/zipcoder/SortByName.java b/src/main/java/io/zipcoder/SortByName.java new file mode 100644 index 0000000..466870f --- /dev/null +++ b/src/main/java/io/zipcoder/SortByName.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class SortByName { +} diff --git a/src/main/java/io/zipcoder/SortByPetType.java b/src/main/java/io/zipcoder/SortByPetType.java new file mode 100644 index 0000000..8e81b96 --- /dev/null +++ b/src/main/java/io/zipcoder/SortByPetType.java @@ -0,0 +1,4 @@ +package io.zipcoder; + +public class SortByPetType { +} diff --git a/src/test/java/io/zipcoder/QuestionairreTest.java b/src/test/java/io/zipcoder/QuestionairreTest.java index 1b0ddf5..1ad8557 100644 --- a/src/test/java/io/zipcoder/QuestionairreTest.java +++ b/src/test/java/io/zipcoder/QuestionairreTest.java @@ -1,9 +1,72 @@ package io.zipcoder; import io.zipcoder.Pets.Capybara; +import io.zipcoder.Pets.Cat; +import io.zipcoder.Pets.Dog; +import io.zipcoder.Pets.Pet; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; +import java.util.Collections; + public class QuestionairreTest { + Questionairre form; + ArrayList testList; + Cat testCat; + + @Before + public void setup(){ + form = new Questionairre(); + testList = new ArrayList<>(); + testCat = new Cat("testCat", 4); + } + + @Test + public void speakNSayTest(){ + form.petArrayList.add(testCat); + String actual = form.speakNSay(); + String expected = "The Cat named testCat says Meow. "; + Assert.assertEquals(actual, expected); + } + + @Test + public void petTypeSwitchTest(){ + form.petTypeSwitch("dog", "doug", 5); + Pet expected = form.petArrayList.get(0); + Assert.assertEquals(expected.getName(), "doug"); + } + + @Test + public void petListSortByNameTest(){ + Dog doug = new Dog("doug", 3); + Capybara captain = new Capybara("captain", 7); + form.petArrayList.add(testCat); + form.petArrayList.add(doug); + form.petArrayList.add(captain); + ArrayList expected = new ArrayList<>(); + expected.add(captain); + expected.add(doug); + expected.add(testCat); + ArrayList actual = form.getPetArrayList(); + Collections.sort(actual, new SortByName()); + Assert.assertEquals(expected, form.getPetArrayList()); + } + + @Test + public void petListSortByTypeTest(){ + Dog doug = new Dog("doug", 3); + Capybara captain = new Capybara("captain", 7); + form.petArrayList.add(testCat); + form.petArrayList.add(doug); + form.petArrayList.add(captain); + ArrayList expected = new ArrayList<>(); + expected.add(captain); + expected.add(testCat); + expected.add(doug); + form.petListTypeSort(); + Assert.assertEquals(expected, form.getPetArrayList()); + } + } diff --git a/src/test/java/io/zipcoder/pets/PetTest.java b/src/test/java/io/zipcoder/pets/PetTest.java deleted file mode 100644 index a783834..0000000 --- a/src/test/java/io/zipcoder/pets/PetTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.zipcoder.pets; - -public class PetTest { -} From 6c8514e48b49ef8c412833ed708e1109b4b1e62d Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 15:03:59 -0500 Subject: [PATCH 13/14] add two comparators and corresponding sort tests --- src/main/java/io/zipcoder/Application.java | 3 ++- src/main/java/io/zipcoder/Pets/Pet.java | 4 ---- src/main/java/io/zipcoder/Questionairre.java | 24 ++++++++++++-------- src/main/java/io/zipcoder/SortByName.java | 11 ++++++++- src/main/java/io/zipcoder/SortByPetType.java | 11 ++++++++- 5 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 9f1296a..36b690e 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -7,7 +7,8 @@ public static void main(String[] args) { form.numOfPetsPrompt(); form.setPetArrayList(); form.speakNSay(); - form.petListSort(); + form.petListTypeSort(); + form.petListNameSort(); } } diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index 09f6f4e..53960db 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -33,8 +33,4 @@ public void setAge(int age) { public abstract String speak(); - public int compare(Pet p1, Pet p2){ - return p1.getClass().getSimpleName().compareTo(p2.getClass().getSimpleName()); - } - } diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java index 2657311..bcaf72f 100644 --- a/src/main/java/io/zipcoder/Questionairre.java +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Comparator; public class Questionairre { @@ -16,6 +15,10 @@ public Questionairre(){ petArrayList = new ArrayList<>(); } + public ArrayList getPetArrayList() { + return petArrayList; + } + public void numOfPetsPrompt() { Console.print("Hello dear user. How many pets do you have?"); numOfPets = Console.getInt(); @@ -34,27 +37,30 @@ public void setPetArrayList(){ } } - public void speakNSay() { + public String speakNSay() { String petList = ""; for (Pet currentPet:petArrayList) { petList += ("The " + currentPet.getClass().getSimpleName() + " named " + currentPet.getName() + " says " + currentPet.speak() + ". "); } System.out.println(petList); + return petList; } - public void petListSort() { - Collections.sort(petArrayList, new Comparator() { - @Override - public int compare(Pet o1, Pet o2) { - return o1.getClass().getSimpleName().compareTo(o2.getClass().getSimpleName()); - } - }); + public void petListTypeSort() { + Collections.sort(petArrayList, new SortByPetType()); for (Pet pet:petArrayList) { System.out.println(pet.getName()); } } + public void petListNameSort() { + Collections.sort(petArrayList, new SortByName()); + for (Pet pet:petArrayList){ + System.out.println(pet.getName()); + } + } + public void petTypeSwitch(String usersKindOfPets, String name, int age) { Pet tempPet; switch (usersKindOfPets.toLowerCase()) { diff --git a/src/main/java/io/zipcoder/SortByName.java b/src/main/java/io/zipcoder/SortByName.java index 466870f..8e799e2 100644 --- a/src/main/java/io/zipcoder/SortByName.java +++ b/src/main/java/io/zipcoder/SortByName.java @@ -1,4 +1,13 @@ package io.zipcoder; -public class SortByName { +import io.zipcoder.Pets.Pet; + +import java.util.Comparator; + +public class SortByName implements Comparator { + + public int compare(Pet o1, Pet o2) { + return o1.getName().compareTo(o2.getName()); + } + } diff --git a/src/main/java/io/zipcoder/SortByPetType.java b/src/main/java/io/zipcoder/SortByPetType.java index 8e81b96..c3eb961 100644 --- a/src/main/java/io/zipcoder/SortByPetType.java +++ b/src/main/java/io/zipcoder/SortByPetType.java @@ -1,4 +1,13 @@ package io.zipcoder; -public class SortByPetType { +import io.zipcoder.Pets.Pet; + +import java.util.Comparator; + +public class SortByPetType implements Comparator{ + + public int compare(Pet o1, Pet o2) { + return o1.getClass().getSimpleName().compareTo(o2.getClass().getSimpleName()); + } + } From cc5ac289f0dd0d3c27be37b50640a64d184dcef2 Mon Sep 17 00:00:00 2001 From: Patrick Glavin Date: Tue, 27 Feb 2018 15:43:06 -0500 Subject: [PATCH 14/14] refactor to sort by name on abstract class --- src/main/java/io/zipcoder/Pets/Pet.java | 7 ++++++- src/main/java/io/zipcoder/Questionairre.java | 2 +- src/main/java/io/zipcoder/SortByName.java | 13 ------------- src/test/java/io/zipcoder/QuestionairreTest.java | 2 +- 4 files changed, 8 insertions(+), 16 deletions(-) delete mode 100644 src/main/java/io/zipcoder/SortByName.java diff --git a/src/main/java/io/zipcoder/Pets/Pet.java b/src/main/java/io/zipcoder/Pets/Pet.java index 53960db..b775346 100644 --- a/src/main/java/io/zipcoder/Pets/Pet.java +++ b/src/main/java/io/zipcoder/Pets/Pet.java @@ -1,6 +1,8 @@ package io.zipcoder.Pets; -public abstract class Pet{ +import java.util.Comparator; + +public abstract class Pet implements Comparable{ public String name; public Integer age; @@ -33,4 +35,7 @@ public void setAge(int age) { public abstract String speak(); + public int compareTo(Pet otherPet){ + return this.getName().compareTo(otherPet.getName()); + } } diff --git a/src/main/java/io/zipcoder/Questionairre.java b/src/main/java/io/zipcoder/Questionairre.java index bcaf72f..2d17df1 100644 --- a/src/main/java/io/zipcoder/Questionairre.java +++ b/src/main/java/io/zipcoder/Questionairre.java @@ -55,7 +55,7 @@ public void petListTypeSort() { } public void petListNameSort() { - Collections.sort(petArrayList, new SortByName()); + Collections.sort(petArrayList); for (Pet pet:petArrayList){ System.out.println(pet.getName()); } diff --git a/src/main/java/io/zipcoder/SortByName.java b/src/main/java/io/zipcoder/SortByName.java deleted file mode 100644 index 8e799e2..0000000 --- a/src/main/java/io/zipcoder/SortByName.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.zipcoder; - -import io.zipcoder.Pets.Pet; - -import java.util.Comparator; - -public class SortByName implements Comparator { - - public int compare(Pet o1, Pet o2) { - return o1.getName().compareTo(o2.getName()); - } - -} diff --git a/src/test/java/io/zipcoder/QuestionairreTest.java b/src/test/java/io/zipcoder/QuestionairreTest.java index 1ad8557..a0f2a74 100644 --- a/src/test/java/io/zipcoder/QuestionairreTest.java +++ b/src/test/java/io/zipcoder/QuestionairreTest.java @@ -50,7 +50,7 @@ public void petListSortByNameTest(){ expected.add(doug); expected.add(testCat); ArrayList actual = form.getPetArrayList(); - Collections.sort(actual, new SortByName()); + Collections.sort(actual); Assert.assertEquals(expected, form.getPetArrayList()); }