From 05c40df2475b99f747466fe095908f2bceac80fa Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 31 Jul 2021 11:35:33 -0400 Subject: [PATCH] Need to build console, but it is mostly done. --- .../java/io/zipcoder/polymorphism/Animal.java | 7 +++ .../java/io/zipcoder/polymorphism/Bear.java | 22 +++++++ .../java/io/zipcoder/polymorphism/Cat.java | 20 +++++++ .../java/io/zipcoder/polymorphism/Dog.java | 21 +++++++ .../polymorphism/MainApplication.java | 1 + .../java/io/zipcoder/polymorphism/Pet.java | 9 +++ .../io/zipcoder/polymorphism/TestBear.java | 60 +++++++++++++++++++ .../io/zipcoder/polymorphism/TestCat.java | 58 ++++++++++++++++++ .../io/zipcoder/polymorphism/TestDog.java | 59 ++++++++++++++++++ 9 files changed, 257 insertions(+) create mode 100644 src/main/java/io/zipcoder/polymorphism/Animal.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Bear.java 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/Pet.java create mode 100644 src/test/java/io/zipcoder/polymorphism/TestBear.java create mode 100644 src/test/java/io/zipcoder/polymorphism/TestCat.java create mode 100644 src/test/java/io/zipcoder/polymorphism/TestDog.java diff --git a/src/main/java/io/zipcoder/polymorphism/Animal.java b/src/main/java/io/zipcoder/polymorphism/Animal.java new file mode 100644 index 0000000..4173054 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Animal.java @@ -0,0 +1,7 @@ +package io.zipcoder.polymorphism; + +public interface Animal { + + String speak(); + +} diff --git a/src/main/java/io/zipcoder/polymorphism/Bear.java b/src/main/java/io/zipcoder/polymorphism/Bear.java new file mode 100644 index 0000000..07c3b7f --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Bear.java @@ -0,0 +1,22 @@ +package io.zipcoder.polymorphism; + +public class Bear extends Pet implements Animal { + + + public Bear(String name) { + super(name); + } + + public String getName() { + return this.name; + } + + + public void setName(String name) { + this.name = name; + } + + public String speak() { + return "Roar!"; + } +} 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..6443b69 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -0,0 +1,20 @@ +package io.zipcoder.polymorphism; + +public class Cat extends Pet implements Animal { + + public Cat(String name) { + super(name); + } + + public String getName() { + return this.name; + } + + public String speak() { + return "Meow!"; + } + + public void setName(String name) { + this.name = name; + } +} 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..b5d00f7 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -0,0 +1,21 @@ +package io.zipcoder.polymorphism; + +public class Dog extends Pet implements Animal{ + + + public Dog(String name) { + super(name); + } + + public String getName() { + return this.name; + } + + public String speak() { + return "Woof!"; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index 668c627..6a78b51 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,4 +1,5 @@ package io.zipcoder.polymorphism; public class MainApplication { + } 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..bef172c --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Pet.java @@ -0,0 +1,9 @@ +package io.zipcoder.polymorphism; + +public abstract class Pet implements Animal{ + String name; + + public Pet(String name) { + this.name = name; + } +} diff --git a/src/test/java/io/zipcoder/polymorphism/TestBear.java b/src/test/java/io/zipcoder/polymorphism/TestBear.java new file mode 100644 index 0000000..9912edc --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/TestBear.java @@ -0,0 +1,60 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class TestBear { + @Test + public void bearConstructorTest() { + //Given + String given = "Bubbles"; + //When + Bear bear = new Bear(given); + String expected = bear.getName(); + //Then + Assert.assertEquals(given, expected); + } + + @Test + public void speakTest() { + //Given + Bear bear = new Bear("Bubbles"); + String given = "Roar!"; + //When + String expected = bear.speak(); + //Then + Assert.assertEquals(given, expected); + } + + @Test + public void setNameTest() { + //Given + Bear bear = new Bear(""); + String given = "Bubbles"; + + //When + bear.setName(given); + + //Then + String expected = bear.getName(); + Assert.assertEquals(given, expected); + } + + @Test + public void inheritanceOfPetTest() { + + Bear bear = new Bear("Bubbles"); + Assert.assertTrue(bear instanceof Pet); + + } + + @Test + public void inheritanceOfAnimalTest() { + + Bear bear = new Bear("Bubbles"); + Assert.assertTrue(bear instanceof Animal); + + } + +} + diff --git a/src/test/java/io/zipcoder/polymorphism/TestCat.java b/src/test/java/io/zipcoder/polymorphism/TestCat.java new file mode 100644 index 0000000..67aeb7a --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/TestCat.java @@ -0,0 +1,58 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class TestCat { + @Test + public void catConstructorTest(){ + //Given + String given = "Ellie"; + //When + Cat cat = new Cat(given); + String expected = cat.getName(); + //Then + Assert.assertEquals(given, expected); + } + + @Test + public void speakTest(){ + //given + Cat cat = new Cat("Ellie"); + String given = "Meow!"; + //when + String expected = cat.speak(); + //then + Assert.assertEquals(given, expected); + } + + @Test + public void setNameTest() { + //Given + Cat cat = new Cat(""); + String given = "Ellie"; + + //When + cat.setName(given); + + //Then + String expected = cat.getName(); + Assert.assertEquals(given, expected); + } + + @Test + public void inheritanceOfPetTest(){ + + Cat cat = new Cat("Ellie"); + Assert.assertTrue(cat instanceof Pet); + + } + + @Test + public void inheritanceOfAnimalTest(){ + + Cat cat = new Cat("Ellie"); + Assert.assertTrue(cat instanceof Animal); + + } + } diff --git a/src/test/java/io/zipcoder/polymorphism/TestDog.java b/src/test/java/io/zipcoder/polymorphism/TestDog.java new file mode 100644 index 0000000..35d0415 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/TestDog.java @@ -0,0 +1,59 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class TestDog { + @Test + public void dogConstructorTest() { + //Given + String given = "Spot"; + //When + Dog dog = new Dog(given); + String expected = dog.getName(); + //Then + Assert.assertEquals(given, expected); + } + + @Test + public void speakTest() { + //Given + Dog dog = new Dog("Spot"); + String given = "Woof!"; + //When + String expected = dog.speak(); + //Then + Assert.assertEquals(given, expected); + } + + @Test + public void setNameTest() { + // Given + Dog dog = new Dog(""); + String given = "Spot"; + + // When + dog.setName(given); + + // Then + String expected = dog.getName(); + Assert.assertEquals(given, expected); + } + + @Test + public void inheritanceOfPetTest() { + + Dog dog = new Dog("Spot"); + Assert.assertTrue(dog instanceof Pet); + + } + + @Test + public void inheritanceOfAnimalTest() { + + Dog dog = new Dog("Spot"); + Assert.assertTrue(dog instanceof Animal); + + } +} +