From be5c244d1311455832b5c47cae5e746537f7add1 Mon Sep 17 00:00:00 2001 From: johnS93 Date: Sat, 24 Jul 2021 17:13:06 -0400 Subject: [PATCH] finished lab --- pom.xml | 12 +++++++++ src/main/java/Cat.java | 11 ++++++++ src/main/java/Chicken.java | 10 ++++++++ src/main/java/Dog.java | 10 ++++++++ src/main/java/Pet.java | 19 ++++++++++++++ .../io/zipcoder/polymorphism/Console.java | 25 +++++++++++++++++++ .../polymorphism/MainApplication.java | 22 ++++++++++++++++ src/test/java/CatTest.java | 18 +++++++++++++ src/test/java/ChickenTest.java | 17 +++++++++++++ src/test/java/DogTest.java | 19 ++++++++++++++ src/test/java/PetTest.java | 4 +++ 11 files changed, 167 insertions(+) create mode 100644 src/main/java/Cat.java create mode 100644 src/main/java/Chicken.java create mode 100644 src/main/java/Dog.java create mode 100644 src/main/java/Pet.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Console.java create mode 100644 src/test/java/CatTest.java create mode 100644 src/test/java/ChickenTest.java create mode 100644 src/test/java/DogTest.java create mode 100644 src/test/java/PetTest.java diff --git a/pom.xml b/pom.xml index 62dbb86..3c9cce4 100644 --- a/pom.xml +++ b/pom.xml @@ -5,6 +5,18 @@ io.zipcoder polymorphism-1 0.0.1-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 14 + 14 + + + + jar interfaces-1 diff --git a/src/main/java/Cat.java b/src/main/java/Cat.java new file mode 100644 index 0000000..58b395d --- /dev/null +++ b/src/main/java/Cat.java @@ -0,0 +1,11 @@ + +public class Cat extends Pet { + + public Cat(String name) { + super(name); + this.name = name; + } + public String speak(){ + return "Meow"; + } +} diff --git a/src/main/java/Chicken.java b/src/main/java/Chicken.java new file mode 100644 index 0000000..843b092 --- /dev/null +++ b/src/main/java/Chicken.java @@ -0,0 +1,10 @@ +public class Chicken extends Pet{ + + public Chicken (String name) { + super(name); + this.name = name; + } + public String speak() { + return "Cuckoo"; + } +} diff --git a/src/main/java/Dog.java b/src/main/java/Dog.java new file mode 100644 index 0000000..c8f7146 --- /dev/null +++ b/src/main/java/Dog.java @@ -0,0 +1,10 @@ +public class Dog extends Pet { + + public Dog(String name) { + super(name); + this.name = name; + } + public String speak(){ + return "Woof"; + } +} diff --git a/src/main/java/Pet.java b/src/main/java/Pet.java new file mode 100644 index 0000000..676abb3 --- /dev/null +++ b/src/main/java/Pet.java @@ -0,0 +1,19 @@ + + public abstract class Pet { + String name; + + public Pet(String name) { + this.name = name; + + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + abstract public String speak(); +} diff --git a/src/main/java/io/zipcoder/polymorphism/Console.java b/src/main/java/io/zipcoder/polymorphism/Console.java new file mode 100644 index 0000000..ca72d07 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Console.java @@ -0,0 +1,25 @@ +package io.zipcoder.polymorphism; + +import java.util.Scanner; + +public class Console { + + public static void print(String output, Object... args){ + System.out.printf(output, args); + } + public static void println(String output, Object... args){ + print(output + "\n", args); + } + public static String getStringInput(String prompt){ + Scanner scanner = new Scanner(System.in); + println(prompt); + String userInput = scanner.nextLine(); + return userInput; + } + public static Integer getIntegerInput(String prompt) { + Scanner scanner = new Scanner(System.in); + println(prompt); + int userInput = Integer.parseInt(scanner.nextLine()); + return userInput; + } +} diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index 668c627..aa95dd7 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,4 +1,26 @@ package io.zipcoder.polymorphism; + +import java.security.DigestException; + public class MainApplication { + public static void main(String[] args) { + Integer numPets = Console.getIntegerInput("Hey you! How many pets do you own?"); + if(numPets > 0) { + for(int i = 0; i < numPets; i++){ + String petType = Console.getStringInput("What kind of pet do you own?\n" + "Dog \n" + "Cat \n" + "Chicken \n"); + + String petName = Console.getStringInput("What is the name of your pet? \n"); + + System.out.println("Wow I like your pet name! Goodbye!"); + + + + + } + + } + + } + } diff --git a/src/test/java/CatTest.java b/src/test/java/CatTest.java new file mode 100644 index 0000000..b637b6f --- /dev/null +++ b/src/test/java/CatTest.java @@ -0,0 +1,18 @@ +import org.junit.Assert; +import org.junit.Test; + +public class CatTest { + + @Test + public void speakTest(){ + // Given: + Pet cat = new Cat("Garfield"); + String expected = "Meow"; + + // When: + String actual = cat.speak(); + + // Then: + Assert.assertEquals(expected,actual); + } +} diff --git a/src/test/java/ChickenTest.java b/src/test/java/ChickenTest.java new file mode 100644 index 0000000..e5d4af7 --- /dev/null +++ b/src/test/java/ChickenTest.java @@ -0,0 +1,17 @@ +import org.junit.Assert; +import org.junit.Test; + +public class ChickenTest { + @Test + public void speakTest(){ + // Given: + Pet chicken = new Chicken("Protein"); + String expected = "Cuckoo"; + + // When: + String actual = chicken.speak(); + + // Then: + Assert.assertEquals(expected,actual); + } +} diff --git a/src/test/java/DogTest.java b/src/test/java/DogTest.java new file mode 100644 index 0000000..81d3bf2 --- /dev/null +++ b/src/test/java/DogTest.java @@ -0,0 +1,19 @@ +import org.junit.Assert; +import org.junit.Test; + +public class DogTest { + @Test + public void speakTest(){ + // Given: + Dog dog = new Dog("Clifford"); + String expected = "Woof"; + + // When: + String actual = dog.speak(); + + // Then: + Assert.assertEquals(expected,actual); + } + + +} diff --git a/src/test/java/PetTest.java b/src/test/java/PetTest.java new file mode 100644 index 0000000..2276708 --- /dev/null +++ b/src/test/java/PetTest.java @@ -0,0 +1,4 @@ + + +public class PetTest { +}