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..9816faf --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -0,0 +1,17 @@ +package io.zipcoder.polymorphism; + +public class Cat extends Pet{ + public Cat(String name) { + super(name); + } + + public Cat() { + + } + + @Override + public String speak() { + super.speak(); + return null; + } +} 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..76b36ce --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -0,0 +1,20 @@ +package io.zipcoder.polymorphism; + +public class Dog extends Pet{ + + public Dog(String name) { + super(name); + } + + public Dog() { + + } + + @Override + public String speak() { + super.speak(); + return null; + } + + +} diff --git a/src/main/java/io/zipcoder/polymorphism/Lion.java b/src/main/java/io/zipcoder/polymorphism/Lion.java new file mode 100644 index 0000000..f80dcf8 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Lion.java @@ -0,0 +1,18 @@ +package io.zipcoder.polymorphism; + +public class Lion extends Pet{ + + public Lion(String name) { + super(name); + } + + public Lion() { + + } + + @Override + public String speak() {super.speak(); + String sound = "Rawr"; + return sound; + } +} diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index 668c627..2929533 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,4 +1,16 @@ package io.zipcoder.polymorphism; public class MainApplication { + public static void main(String[] args){ + Pet myPet = new Pet(); + Pet myCat = new Cat(); + Pet myDog = new Dog(); + Pet myLion = new Lion(); + myPet.speak(); + myCat.speak(); + myDog.speak(); + myLion.speak(); +// would these methods be better in main method or pet method? + + } } 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..1eba931 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Pet.java @@ -0,0 +1,30 @@ +package io.zipcoder.polymorphism; + +public class Pet{ + public Pet(String name) { + this.name = name; + } + + public Pet() { + + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + String name; + + public String speak(){ + + + return null; + } + + + +} 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..c0e75b1 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/CatTest.java @@ -0,0 +1,9 @@ +package io.zipcoder.polymorphism; + +import junit.framework.TestCase; + +public class CatTest extends TestCase { + + + +} \ 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..999c69f --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/DogTest.java @@ -0,0 +1,9 @@ +package io.zipcoder.polymorphism; + +import junit.framework.TestCase; + +public class DogTest extends TestCase { + + public void testSpeak() { + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/LionTest.java b/src/test/java/io/zipcoder/polymorphism/LionTest.java new file mode 100644 index 0000000..1943587 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/LionTest.java @@ -0,0 +1,21 @@ +package io.zipcoder.polymorphism; + +import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Test; + +public class LionTest extends TestCase { + + @Test + public void testSpeak(){ + //Give + Lion lion = new Lion("Im Lion Benny"); + //When + String expected = "Rawr"; + String actual = lion.speak(); + //Then + Assert.assertEquals(expected,actual); + + } + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/polymorphism/PetTest.java b/src/test/java/io/zipcoder/polymorphism/PetTest.java new file mode 100644 index 0000000..4b6fadf --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/PetTest.java @@ -0,0 +1,15 @@ +package io.zipcoder.polymorphism; + +import junit.framework.TestCase; + +public class PetTest extends TestCase { + + public void testTestGetName() { + } + + public void testTestSetName() { + } + + public void testSpeak() { + } +} \ No newline at end of file