From 55b7e943b303baa800886890c911e1146a56ff65 Mon Sep 17 00:00:00 2001 From: Emma Beech Date: Tue, 25 Feb 2020 07:42:56 -0500 Subject: [PATCH 1/2] classes done. waiting on tests --- .../java/io/zipcoder/polymorphism/Cat.java | 13 +++++ .../java/io/zipcoder/polymorphism/Dog.java | 13 +++++ .../java/io/zipcoder/polymorphism/Fish.java | 12 +++++ .../polymorphism/MainApplication.java | 48 +++++++++++++++++++ .../java/io/zipcoder/polymorphism/Pet.java | 25 ++++++++++ 5 files changed, 111 insertions(+) create mode 100644 src/main/java/io/zipcoder/polymorphism/Cat.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Dog.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Fish.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Pet.java diff --git a/src/main/java/io/zipcoder/polymorphism/Cat.java b/src/main/java/io/zipcoder/polymorphism/Cat.java new file mode 100644 index 0000000..e8a9906 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -0,0 +1,13 @@ +package io.zipcoder.polymorphism; + +public class Cat extends Pet { + + public Cat(String name){ + super(name); + } + + public String speak(){ + return "meow"; + } + +} diff --git a/src/main/java/io/zipcoder/polymorphism/Dog.java b/src/main/java/io/zipcoder/polymorphism/Dog.java new file mode 100644 index 0000000..52d1a5c --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -0,0 +1,13 @@ +package io.zipcoder.polymorphism; + +public class Dog extends Pet { + + public Dog(String name){ + super(name); + } + + public String speak(){ + return "bark"; + } + +} diff --git a/src/main/java/io/zipcoder/polymorphism/Fish.java b/src/main/java/io/zipcoder/polymorphism/Fish.java new file mode 100644 index 0000000..94674db --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Fish.java @@ -0,0 +1,12 @@ +package io.zipcoder.polymorphism; + +public class Fish extends Pet { + + public Fish(String name){ + super(name); + } + + public String speak(){ + return "glub"; + } +} diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index ea9281e..8c0bc02 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,7 +1,55 @@ package io.zipcoder.polymorphism; +import java.util.ArrayList; +import java.util.Scanner; + /** * Created by leon on 11/6/17. */ public class MainApplication { + +private static ArrayList pets; + + public static void main(String[] args) { + Integer numOfPets = getInteger("How many pets do you have?"); + ArrayList pet = new ArrayList(); + pets = pet; + + + for(int i = 0; i < numOfPets; i++) { + String species = getStringInput("What kind of pet?"); + String name = getStringInput("What is their name?"); + if(species.equals("cat")) { + pets.add(new Cat(name)); + } + else if(species.equals("dog")) { + pets.add(new Dog(name)); + } + else{ + pets.add(new Fish(name)); + } + } + + + printPets(); + + } + public static String getStringInput(String prompt){ + Scanner scanner = new Scanner(System.in); + System.out.println(prompt); + String userInput = scanner.nextLine(); + return userInput; + } + + public static Integer getInteger(String prompt) { + Scanner scanner = new Scanner(System.in); + System.out.println(prompt); + String userInput = scanner.nextLine(); + return Integer.parseInt(userInput); + } + public static void printPets(){ + for(Pet p : pets) { + System.out.println(p.getName()+ " "+ p.speak()); + } + } } diff --git a/src/main/java/io/zipcoder/polymorphism/Pet.java b/src/main/java/io/zipcoder/polymorphism/Pet.java new file mode 100644 index 0000000..4e738b1 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Pet.java @@ -0,0 +1,25 @@ +package io.zipcoder.polymorphism; + +public abstract class Pet { + + private String name; + + + public Pet(String name){ + this.name = name; + } + + public void setName(String name) { + this.name = name; + } + + + public String getName(){ + return name; + } + + public abstract String speak(); + +} + + From 0f4a81e182d3f209552981d8a61dd93522a012b3 Mon Sep 17 00:00:00 2001 From: Gregory Davis Date: Sun, 1 Mar 2020 12:59:09 -0500 Subject: [PATCH 2/2] tests done --- pom.xml | 8 ++++++ .../io/zipcoder/polymorphism/GuineaPig.java | 13 +++++++++ .../polymorphism/MainApplication.java | 27 ++++++++++--------- .../io/zipcoder/polymorphism/CatTest.java | 24 +++++++++++++++++ .../io/zipcoder/polymorphism/DogTest.java | 24 +++++++++++++++++ .../io/zipcoder/polymorphism/FishTest.java | 24 +++++++++++++++++ .../zipcoder/polymorphism/GuineaPigTest.java | 24 +++++++++++++++++ 7 files changed, 132 insertions(+), 12 deletions(-) create mode 100644 src/main/java/io/zipcoder/polymorphism/GuineaPig.java create mode 100644 src/test/java/io/zipcoder/polymorphism/CatTest.java create mode 100644 src/test/java/io/zipcoder/polymorphism/DogTest.java create mode 100644 src/test/java/io/zipcoder/polymorphism/FishTest.java create mode 100644 src/test/java/io/zipcoder/polymorphism/GuineaPigTest.java diff --git a/pom.xml b/pom.xml index 93036ba..90c23e3 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,14 @@ io.zipcoder polymorphism 1.0-SNAPSHOT + + + junit + junit + 4.12 + test + + \ No newline at end of file diff --git a/src/main/java/io/zipcoder/polymorphism/GuineaPig.java b/src/main/java/io/zipcoder/polymorphism/GuineaPig.java new file mode 100644 index 0000000..42da556 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/GuineaPig.java @@ -0,0 +1,13 @@ +package io.zipcoder.polymorphism; + +public class GuineaPig extends Pet { + + public GuineaPig(String name){ + super(name); + } + + public String speak(){ + return "wheek"; + } + +} \ No newline at end of file diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index 8c0bc02..4ba9a37 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -16,19 +16,22 @@ public static void main(String[] args) { pets = pet; - for(int i = 0; i < numOfPets; i++) { - String species = getStringInput("What kind of pet?"); - String name = getStringInput("What is their name?"); - if(species.equals("cat")) { - pets.add(new Cat(name)); - } - else if(species.equals("dog")) { - pets.add(new Dog(name)); - } - else{ - pets.add(new Fish(name)); - } + for(int i = 0; i < numOfPets; i++) { + String species = getStringInput("What kind of pet?"); + String name = getStringInput("What is their name?"); + if(species.equals("cat")) { + pets.add(new Cat(name)); } + else if(species.equals("dog")) { + pets.add(new Dog(name)); + } + else if(species.equals("guineapig")){ + pets.add(new GuineaPig(name)); + } + else{ + pets.add(new Fish(name)); + } + } printPets(); diff --git a/src/test/java/io/zipcoder/polymorphism/CatTest.java b/src/test/java/io/zipcoder/polymorphism/CatTest.java new file mode 100644 index 0000000..09c0357 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/CatTest.java @@ -0,0 +1,24 @@ +package io.zipcoder.polymorphism; + +import org.junit.Test; +import org.junit.Assert; + +public class CatTest +{ + @Test + public void CatTest() + { + Cat name = new Cat("fluffy"); + String actual = name.getName(); + String expected = "fluffy"; + Assert.assertEquals(expected, actual); + } + + @Test + public void SpeechTest() + { + String actual = new Cat("fluffy").speak(); + String expected = "meow"; + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/DogTest.java b/src/test/java/io/zipcoder/polymorphism/DogTest.java new file mode 100644 index 0000000..98e2514 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/DogTest.java @@ -0,0 +1,24 @@ +package io.zipcoder.polymorphism; + + import org.junit.Test; + import org.junit.Assert; + +public class DogTest +{ + @Test + public void DogTest() + { + Dog name = new Dog("clifford"); + String actual = name.getName(); + String expected = "clifford"; + Assert.assertEquals(expected, actual); + } + + @Test + public void SpeechTest() + { + String actual = new Dog("cliffors").speak(); + String expected = "bark"; + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/FishTest.java b/src/test/java/io/zipcoder/polymorphism/FishTest.java new file mode 100644 index 0000000..b6ad4c3 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/FishTest.java @@ -0,0 +1,24 @@ +package io.zipcoder.polymorphism; + +import org.junit.Test; +import org.junit.Assert; + +public class FishTest +{ + @Test + public void FishTest() + { + Fish name = new Fish("nemo"); + String actual = name.getName(); + String expected = "nemo"; + Assert.assertEquals(expected, actual); + } + + @Test + public void SpeechTest() + { + String actual = new Fish("nemo").speak(); + String expected = "glub"; + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/GuineaPigTest.java b/src/test/java/io/zipcoder/polymorphism/GuineaPigTest.java new file mode 100644 index 0000000..7c9be88 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/GuineaPigTest.java @@ -0,0 +1,24 @@ +package io.zipcoder.polymorphism; + +import org.junit.Test; +import org.junit.Assert; + +public class GuineaPigTest +{ + @Test + public void GuineaPigTest() + { + GuineaPig name = new GuineaPig("whiskers"); + String actual = name.getName(); + String expected = "whiskers"; + Assert.assertEquals(expected, actual); + } + + @Test + public void SpeechTest() + { + String actual = new GuineaPig("whiskers").speak(); + String expected = "wheek"; + Assert.assertEquals(expected, actual); + } +}