From 9ecad9c5c2cb0edb06d2d955540618f360c71095 Mon Sep 17 00:00:00 2001 From: michael-doll Date: Fri, 1 Nov 2019 19:45:25 -0400 Subject: [PATCH 1/3] save work on step 1. get input, print list of animals, with name and type --- src/main/java/io/zipcoder/polymorphism/Cat.java | 4 ++++ src/main/java/io/zipcoder/polymorphism/Dog.java | 4 ++++ src/main/java/io/zipcoder/polymorphism/Pets.java | 4 ++++ src/test/java/io/zipcoder/polymorphism/PetsTest.java | 7 +++++++ 4 files changed, 19 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/Pets.java create mode 100644 src/test/java/io/zipcoder/polymorphism/PetsTest.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..1956220 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -0,0 +1,4 @@ +package io.zipcoder.polymorphism; + +public class Cat { +} 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..df64951 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -0,0 +1,4 @@ +package io.zipcoder.polymorphism; + +public class Dog { +} diff --git a/src/main/java/io/zipcoder/polymorphism/Pets.java b/src/main/java/io/zipcoder/polymorphism/Pets.java new file mode 100644 index 0000000..83526ce --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Pets.java @@ -0,0 +1,4 @@ +package io.zipcoder.polymorphism; + +public class Pets { +} diff --git a/src/test/java/io/zipcoder/polymorphism/PetsTest.java b/src/test/java/io/zipcoder/polymorphism/PetsTest.java new file mode 100644 index 0000000..23153d6 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/PetsTest.java @@ -0,0 +1,7 @@ +package io.zipcoder.polymorphism; + +import static org.junit.jupiter.api.Assertions.*; + +class PetsTest { + +} \ No newline at end of file From 0c69565b1a77ba42d2731c64d7a3ff4845e29f7a Mon Sep 17 00:00:00 2001 From: michael-doll Date: Wed, 6 Nov 2019 18:37:26 -0500 Subject: [PATCH 2/3] need to test --- pom.xml | 26 ++++++ .../java/io/zipcoder/polymorphism/Cat.java | 13 ++- .../java/io/zipcoder/polymorphism/Dog.java | 16 +++- .../polymorphism/MainApplication.java | 43 ++++++++++ .../java/io/zipcoder/polymorphism/Pets.java | 34 ++++++++ .../java/io/zipcoder/polymorphism/Turtle.java | 15 ++++ .../polymorphism/MainApplicationTest.java | 12 +++ .../io/zipcoder/polymorphism/PetsTest.java | 83 ++++++++++++++++++- 8 files changed, 238 insertions(+), 4 deletions(-) create mode 100644 src/main/java/io/zipcoder/polymorphism/Turtle.java diff --git a/pom.xml b/pom.xml index 93036ba..23875fb 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,32 @@ io.zipcoder polymorphism 1.0-SNAPSHOT + + + junit + junit + 4.12 + test + + + junit + junit + 4.12 + test + + + junit + junit + 4.12 + test + + + junit + junit + 4.12 + test + + \ No newline at end of file diff --git a/src/main/java/io/zipcoder/polymorphism/Cat.java b/src/main/java/io/zipcoder/polymorphism/Cat.java index 1956220..276c427 100644 --- a/src/main/java/io/zipcoder/polymorphism/Cat.java +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -1,4 +1,15 @@ package io.zipcoder.polymorphism; -public class Cat { +import com.sun.media.jfxmedia.logging.Logger; + +public class Cat extends Pets{ + + public Cat(String petName, String petType) { + super(petName, petType); + } + + @Override + 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 index df64951..a1c021c 100644 --- a/src/main/java/io/zipcoder/polymorphism/Dog.java +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -1,4 +1,18 @@ package io.zipcoder.polymorphism; -public class Dog { +import java.util.logging.Logger; + +public class Dog extends Pets { + + public Dog(String petName) { + } + public Dog(String name, String type){ + super(name, type); + + } + + @Override + public String speak() { + return "Woof"; + } } diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index ea9281e..e25c883 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,7 +1,50 @@ package io.zipcoder.polymorphism; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; +import java.util.logging.Level; +import java.util.logging.Logger; + /** * Created by leon on 11/6/17. */ public class MainApplication { + public static void main(String [] args) { + List pets = new ArrayList(); + + Logger logger = Logger.getLogger(MainApplication.class.getName()); + Scanner scan = new Scanner(System.in); + + logger.info("How many pets ? "); + int numberOfPets = scan.nextInt(); + + + for(int i = 0; i < numberOfPets; i++){ + logger.info("What is the name of pet " + (i +1) + " ?"); + String name = scan.next(); + + logger.info("What is the type of pet " + (i +1) + " ?"); + String type = scan.next(); + String correctedType = type.toLowerCase(); + + if (correctedType.equals("dog")) { + Pets pet = new Dog(name,type); + pets.add(i,pet); + }else if(correctedType.equals("cat")){ + Pets pet = new Cat(name,type); + pets.add(i,pet); + }else if(correctedType.equals("turtle")) { + Pets pet = new Turtle(name, type); + pets.add(i, pet); + }else{ + Pets pet = new Pets(); + pets.add(i,pet); + } + } + for(int i =0 ; i < pets.size(); i++ ){ + logger.info(pets.get(i).speak()); + } + + } } diff --git a/src/main/java/io/zipcoder/polymorphism/Pets.java b/src/main/java/io/zipcoder/polymorphism/Pets.java index 83526ce..48c39c7 100644 --- a/src/main/java/io/zipcoder/polymorphism/Pets.java +++ b/src/main/java/io/zipcoder/polymorphism/Pets.java @@ -1,4 +1,38 @@ package io.zipcoder.polymorphism; +import java.util.logging.Logger; + + public class Pets { + String petName; + String petType; + + public Pets(){} + public Pets(String petName, String petType){ + this.petName = petName; + this.petType = petType; + } + + public String getPetName() { + return petName; + } + + public void setPetName(String petName) { + this.petName = petName; + } + + public String getPetType() { + return petType; + } + + public void setPetType(String petType) { + this.petType = petType; + } + + public String speak(){ return "AnimalNoise"; } + + public String toString(){ + return petName + " " + petType; + } + } diff --git a/src/main/java/io/zipcoder/polymorphism/Turtle.java b/src/main/java/io/zipcoder/polymorphism/Turtle.java new file mode 100644 index 0000000..e2b35ee --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Turtle.java @@ -0,0 +1,15 @@ +package io.zipcoder.polymorphism; + +import javax.swing.event.AncestorEvent; + +public class Turtle extends Pets { + + public Turtle(String petName, String petType) { + super(petName, petType); + } + + @Override + public String speak() { + return "Meowf"; + } +} diff --git a/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java b/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java index 7181623..d796ecb 100644 --- a/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java +++ b/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java @@ -1,7 +1,19 @@ package io.zipcoder.polymorphism; +import org.junit.Test; + +import java.util.Scanner; +import java.util.logging.Level; +import java.util.logging.Logger; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.List; + /** * Created by leon on 11/6/17. */ public class MainApplicationTest { + + } diff --git a/src/test/java/io/zipcoder/polymorphism/PetsTest.java b/src/test/java/io/zipcoder/polymorphism/PetsTest.java index 23153d6..8591d1d 100644 --- a/src/test/java/io/zipcoder/polymorphism/PetsTest.java +++ b/src/test/java/io/zipcoder/polymorphism/PetsTest.java @@ -1,7 +1,86 @@ package io.zipcoder.polymorphism; -import static org.junit.jupiter.api.Assertions.*; +import org.junit.Assert; +import org.junit.Test; -class PetsTest { +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; +import java.util.logging.Level; +import java.util.logging.Logger; + +import static org.junit.Assert.*; + +public class PetsTest { + Logger logger = Logger.getLogger(PetsTest.class.getName()); + Scanner scan = new Scanner(System.in); +// @Test +// public void TestPet(){ +// List pets = new ArrayList(); +// logger.info("How many pets ? "); +// int numberOfPets = scan.nextInt(); +// +// +// for(int i = 0; i < numberOfPets; i++){ +// logger.info("What is the name of pet" + i +1 + " ?"); +// String name = scan.nextLine(); +// logger.info("What is the type of pet" + i +1 + " ?"); +// String type = scan.nextLine(); +// Pets pet = new Pets(name,type); +// pets.add(i,pet); +// } +// for(int i =0 ; i < pets.size(); i++ ){ +// logger.info(String.valueOf(pets.get(i))); +// } +// +// } + + @Test + public void TestCatConstructor(){ + Cat cat = new Cat("Bilbo", "cat"); + + logger.info(cat.toString()); + } + + @Test + public void TestCatSpeak(){ + Cat cat = new Cat("Bilbo", "cat"); + + String expected = "Meow"; + String actual = cat.speak(); + Assert.assertEquals(expected,actual); + } + + @Test + public void TestDogConstructor(){ + Dog dog = new Dog("Frodo", "dog"); + + logger.info(dog.toString()); + } + + @Test + public void TestDogSpeak(){ + Dog dog = new Dog("Frodo", "dog"); + + String expected = "Woof"; + String actual = dog.speak(); + Assert.assertEquals(expected,actual); + } + + @Test + public void TestTurtleConstructor(){ + Turtle turtle = new Turtle("Gretchen", "turtle"); + + logger.info(turtle.toString()); + } + + @Test + public void TestTurtleSpeak(){ + Turtle turtle = new Turtle("Gretchen", "turle"); + + String expected = "Meowf"; + String actual = turtle.speak(); + Assert.assertEquals(expected,actual); + } } \ No newline at end of file From f01c04b5fc73d5a669d38e873275bf5dbd994565 Mon Sep 17 00:00:00 2001 From: Kievina <56592501+Kievina@users.noreply.github.com> Date: Wed, 6 Nov 2019 19:06:35 -0500 Subject: [PATCH 3/3] all tests pass --- .../java/io/zipcoder/polymorphism/Cat.java | 2 - .../io/zipcoder/polymorphism/CatTest.java | 41 ++++++++++++++++ .../io/zipcoder/polymorphism/DogTest.java | 41 ++++++++++++++++ .../io/zipcoder/polymorphism/PetsTest.java | 48 +++++-------------- .../io/zipcoder/polymorphism/TurtleTest.java | 42 ++++++++++++++++ 5 files changed, 137 insertions(+), 37 deletions(-) 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/TurtleTest.java diff --git a/src/main/java/io/zipcoder/polymorphism/Cat.java b/src/main/java/io/zipcoder/polymorphism/Cat.java index 276c427..b7ee9e5 100644 --- a/src/main/java/io/zipcoder/polymorphism/Cat.java +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -1,7 +1,5 @@ package io.zipcoder.polymorphism; -import com.sun.media.jfxmedia.logging.Logger; - public class Cat extends Pets{ public Cat(String petName, String petType) { 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..f47e7b9 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/CatTest.java @@ -0,0 +1,41 @@ +package io.zipcoder.polymorphism; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class CatTest { + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void TestCatConstructor() { + String expectedName = "Bilbo"; + String expectedType = "cat"; + + Cat cat = new Cat(expectedName, expectedType); + + String actualName = cat.getPetName(); + String actualType = cat.getPetType(); + + Assert.assertEquals(expectedName, actualName); + Assert.assertEquals(expectedType, actualType); + } + + @Test + public void speak() { + Cat cat = new Cat("Bilbo", "cat"); + String expected = "Meow"; + String actual = cat.speak(); + Assert.assertEquals(expected, actual); + } +} 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..9afcac9 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/DogTest.java @@ -0,0 +1,41 @@ +package io.zipcoder.polymorphism; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class DogTest { + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void TestDogConstructor(){ + + String expectedName = "Frodo"; + String expectedType = "dog"; + Dog dog = new Dog(expectedName, expectedType); + + String actualName = dog.getPetName(); + String actualType = dog.getPetType(); + + Assert.assertEquals(expectedName, actualName); + Assert.assertEquals(expectedType, actualType); + } + + @Test + public void speak() { + Dog dog = new Dog("Frodo", "dog"); + String expected = "Woof"; + String actual = dog.speak(); + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/PetsTest.java b/src/test/java/io/zipcoder/polymorphism/PetsTest.java index 8591d1d..f78edde 100644 --- a/src/test/java/io/zipcoder/polymorphism/PetsTest.java +++ b/src/test/java/io/zipcoder/polymorphism/PetsTest.java @@ -35,52 +35,30 @@ public class PetsTest { // // } - @Test - public void TestCatConstructor(){ - Cat cat = new Cat("Bilbo", "cat"); - logger.info(cat.toString()); - } @Test - public void TestCatSpeak(){ - Cat cat = new Cat("Bilbo", "cat"); + public void TestPetConstructor() { + String expectedName = "Bilbo"; + String expectedType = "cat"; - String expected = "Meow"; - String actual = cat.speak(); - Assert.assertEquals(expected,actual); - } + Pets pet = new Pets(expectedName, expectedType); - @Test - public void TestDogConstructor(){ - Dog dog = new Dog("Frodo", "dog"); + String actualName = pet.getPetName(); + String actualType = pet.getPetType(); - logger.info(dog.toString()); + Assert.assertEquals(expectedName, actualName); + Assert.assertEquals(expectedType, actualType); } @Test - public void TestDogSpeak(){ - Dog dog = new Dog("Frodo", "dog"); - - String expected = "Woof"; - String actual = dog.speak(); - Assert.assertEquals(expected,actual); + public void speak() { + Pets pet = new Pets("Bilbo", "cat"); + String expected = "AnimalNoise"; + String actual = pet.speak(); + Assert.assertEquals(expected, actual); } - @Test - public void TestTurtleConstructor(){ - Turtle turtle = new Turtle("Gretchen", "turtle"); - logger.info(turtle.toString()); - } - - @Test - public void TestTurtleSpeak(){ - Turtle turtle = new Turtle("Gretchen", "turle"); - - String expected = "Meowf"; - String actual = turtle.speak(); - Assert.assertEquals(expected,actual); - } } \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/TurtleTest.java b/src/test/java/io/zipcoder/polymorphism/TurtleTest.java new file mode 100644 index 0000000..5952fb5 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/TurtleTest.java @@ -0,0 +1,42 @@ +package io.zipcoder.polymorphism; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class TurtleTest { + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void TestTurtleConstructor(){ + + + + String expectedName = "Gretchen"; + String expectedType = "turtle"; + Turtle turtle = new Turtle(expectedName, expectedType); + String actualName = turtle.getPetName(); + String actualType = turtle.getPetType(); + + Assert.assertEquals(expectedName, actualName); + Assert.assertEquals(expectedType, actualType); + } + + @Test + public void speak() { + Turtle turtle = new Turtle("Gretchen", "turtle"); + String expected = "Meowf"; + String actual = turtle.speak(); + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file