From 43540d833ae429f2942f9878ef2b6b8cfcc439c3 Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Sun, 3 Nov 2019 15:40:14 -0500 Subject: [PATCH 1/7] first commit, not complete --- pom.xml | 16 ++++++- .../java/io/zipcoder/polymorphism/Bird.java | 13 +++++ .../java/io/zipcoder/polymorphism/Cat.java | 14 ++++++ .../io/zipcoder/polymorphism/Console.java | 28 +++++++++++ .../java/io/zipcoder/polymorphism/Dog.java | 12 +++++ .../polymorphism/MainApplication.java | 47 +++++++++++++++++++ .../java/io/zipcoder/polymorphism/Pet.java | 27 +++++++++++ 7 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 src/main/java/io/zipcoder/polymorphism/Bird.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Cat.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Console.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Dog.java create mode 100644 src/main/java/io/zipcoder/polymorphism/Pet.java diff --git a/pom.xml b/pom.xml index 93036ba..6402c2c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,21 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - io.zipcoder - polymorphism + com.zipcodewilmington + loop_labs 1.0-SNAPSHOT + + 1.8 + 1.8 + + + + + junit + junit + 4.12 + + \ No newline at end of file diff --git a/src/main/java/io/zipcoder/polymorphism/Bird.java b/src/main/java/io/zipcoder/polymorphism/Bird.java new file mode 100644 index 0000000..6662cd9 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Bird.java @@ -0,0 +1,13 @@ +package io.zipcoder.polymorphism; + +public class Bird extends Pet { + public Bird(String name){ + super(name); + } + + @Override + public String speak() { + return "Chirp Chirp"; + } + +} 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..526c09e --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -0,0 +1,14 @@ +package io.zipcoder.polymorphism; + +public class Cat extends Pet { + public Cat(String name){ + super(name); + } + + @Override + public String speak() { + return "Meow"; + } + + +} 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..406d60a --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Console.java @@ -0,0 +1,28 @@ +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); + print(prompt); + String userInput = scanner.nextLine(); + return userInput; + } + + public static Integer getIntegerInput(String prompt) { + Scanner scanner = new Scanner(System.in); + print(prompt); + Integer userInput = Integer.valueOf(scanner.nextLine()); + return userInput; + } +} 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..ec4ed0f --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -0,0 +1,12 @@ +package io.zipcoder.polymorphism; + +public class Dog extends Pet { + public Dog(String name){ + super(name); + } + + @Override + public String speak() { + return "Woof Woof"; + } +} diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index ea9281e..4099af1 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -1,7 +1,54 @@ package io.zipcoder.polymorphism; +import java.util.ArrayList; +import java.util.List; + /** * Created by leon on 11/6/17. */ + public class MainApplication { + public static void main(String[] args){ + Boolean turnOn = true; + + while(turnOn){ + + Integer prompt = Console.getIntegerInput("\nHow many pets do you have?"); + ArrayList petsLog = new ArrayList(); + + if(prompt > 0){ + for(int i = 0; i < prompt; i++){ + String petValue = Console.getStringInput("What kind of animal is pet #" + (i + 1) + "?"); + String nameValue = Console.getStringInput("What is your pet's name?"); + switch (petValue){ + case ("dog"): + Dog dog = new Dog(nameValue); + petsLog.add(dog); + System.out.println(dog); + break; + case ("cat"): + Cat cat = new Cat(nameValue); + petsLog.add(cat); + break; + case ("bluejay"): + Bird bluejay = new Bird(nameValue); + petsLog.add(bluejay); + break; + default: + System.out.println("Wow, that's a really cool pet..."); + break; + } + + } + System.out.println("\n Your pets: \n"); + for(int i = 0; i < petsLog.size(); i++){ + System.out.println(petsLog.get(i).getClass().getSimpleName() + " " + petsLog.get(i).getName() + " says: " + petsLog.get(i).speak()); + } + + } + turnOn = false; + } + + } + } 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..be33745 --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/Pet.java @@ -0,0 +1,27 @@ +package io.zipcoder.polymorphism; + +public class Pet { + private String name; + + public Pet(String name){ + this.name = name; + } + + public String name(){ + return name; + } + + public String speak(){ + return ""; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + +} From 380f9966abc7b838832a049cd8975bc28db682e7 Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Sun, 3 Nov 2019 15:43:40 -0500 Subject: [PATCH 2/7] fixed bird part --- .../java/io/zipcoder/polymorphism/MainApplication.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index 4099af1..b1d4bf0 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -13,7 +13,7 @@ public static void main(String[] args){ while(turnOn){ - Integer prompt = Console.getIntegerInput("\nHow many pets do you have?"); + Integer prompt = Console.getIntegerInput("\nHow many pets do you have?\n"); ArrayList petsLog = new ArrayList(); if(prompt > 0){ @@ -24,15 +24,14 @@ public static void main(String[] args){ case ("dog"): Dog dog = new Dog(nameValue); petsLog.add(dog); - System.out.println(dog); break; case ("cat"): Cat cat = new Cat(nameValue); petsLog.add(cat); break; - case ("bluejay"): - Bird bluejay = new Bird(nameValue); - petsLog.add(bluejay); + case ("bird"): + Bird bird = new Bird(nameValue); + petsLog.add(bird); break; default: System.out.println("Wow, that's a really cool pet..."); From 2711ba31ede89a151210a1e3b2d28149675f6476 Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Sun, 3 Nov 2019 15:45:27 -0500 Subject: [PATCH 3/7] prompt to input --- src/main/java/io/zipcoder/polymorphism/MainApplication.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/polymorphism/MainApplication.java b/src/main/java/io/zipcoder/polymorphism/MainApplication.java index b1d4bf0..ea33759 100644 --- a/src/main/java/io/zipcoder/polymorphism/MainApplication.java +++ b/src/main/java/io/zipcoder/polymorphism/MainApplication.java @@ -13,11 +13,11 @@ public static void main(String[] args){ while(turnOn){ - Integer prompt = Console.getIntegerInput("\nHow many pets do you have?\n"); + Integer input = Console.getIntegerInput("\nHow many pets do you have?\n"); ArrayList petsLog = new ArrayList(); - if(prompt > 0){ - for(int i = 0; i < prompt; i++){ + if(input > 0){ + for(int i = 0; i < input; i++){ String petValue = Console.getStringInput("What kind of animal is pet #" + (i + 1) + "?"); String nameValue = Console.getStringInput("What is your pet's name?"); switch (petValue){ From 1c0f999997ab77059ae774fe44229ef24a6e866a Mon Sep 17 00:00:00 2001 From: val Date: Sun, 3 Nov 2019 16:04:04 -0500 Subject: [PATCH 4/7] Wrote tests/All passing --- .../io/zipcoder/polymorphism/BirdTest.java | 32 ++++++++++++++++++ .../io/zipcoder/polymorphism/CatTest.java | 32 ++++++++++++++++++ .../io/zipcoder/polymorphism/DogTest.java | 33 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 src/test/java/io/zipcoder/polymorphism/BirdTest.java create mode 100644 src/test/java/io/zipcoder/polymorphism/CatTest.java create mode 100644 src/test/java/io/zipcoder/polymorphism/DogTest.java diff --git a/src/test/java/io/zipcoder/polymorphism/BirdTest.java b/src/test/java/io/zipcoder/polymorphism/BirdTest.java new file mode 100644 index 0000000..c59b0a1 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/BirdTest.java @@ -0,0 +1,32 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class BirdTest { + @Test + public void nameTest() { + // Given + Bird bird = new Bird("BlueJay"); + String expected = "BlueJay"; + + // When + String actual = bird.name(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void speakTest() { + // Given + Bird bird = new Bird("BlueJay"); + String expected = "Chirp Chirp"; + + // When + String actual = bird.speak(); + + // Then + Assert.assertEquals(expected, actual); + } +} 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..2cdd76a --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/CatTest.java @@ -0,0 +1,32 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class CatTest { + @Test + public void nameTest() { + // Given + Cat cat = new Cat("Val"); + String expected = "Val"; + + // When + String actual = cat.name(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void speakTest() { + // Given + Cat cat = new Cat("Valerie"); + String expected = "Meow"; + + // When + String actual = cat.speak(); + + // Then + 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..0fbbe39 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/DogTest.java @@ -0,0 +1,33 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class DogTest { + public String name; + @Test + public void nameTest() { + // Given + Dog dog = new Dog("John"); + String expected = "John"; + + // When + String actual = dog.name(); + + // Then + Assert.assertEquals(expected, actual); + } + + @Test + public void speakTest() { + // Given + Dog dog = new Dog("John"); + String expected = "Woof Woof"; + + // When + String actual = dog.speak(); + + // Then + Assert.assertEquals(expected, actual); + } +} From 064aec48e96813a662bd660ae7a84e0257d33aca Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Sun, 3 Nov 2019 16:43:23 -0500 Subject: [PATCH 5/7] started comparable pets lab --- src/main/java/io/zipcoder/polymorphism/Pet.java | 2 +- .../java/io/zipcoder/polymorphism/PetComparator.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/main/java/io/zipcoder/polymorphism/PetComparator.java diff --git a/src/main/java/io/zipcoder/polymorphism/Pet.java b/src/main/java/io/zipcoder/polymorphism/Pet.java index be33745..07ff44e 100644 --- a/src/main/java/io/zipcoder/polymorphism/Pet.java +++ b/src/main/java/io/zipcoder/polymorphism/Pet.java @@ -1,6 +1,6 @@ package io.zipcoder.polymorphism; -public class Pet { +public abstract class Pet implements Comparable{ private String name; public Pet(String name){ diff --git a/src/main/java/io/zipcoder/polymorphism/PetComparator.java b/src/main/java/io/zipcoder/polymorphism/PetComparator.java new file mode 100644 index 0000000..127647e --- /dev/null +++ b/src/main/java/io/zipcoder/polymorphism/PetComparator.java @@ -0,0 +1,9 @@ +package io.zipcoder.polymorphism; + +public class PetComparator { + + + + + +} From cc4d1deff5964a51d531d59d5e113f65c0d76af4 Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Tue, 5 Nov 2019 20:09:46 -0500 Subject: [PATCH 6/7] alost done, just do the same for other pets --- .../java/io/zipcoder/polymorphism/Bird.java | 4 ++ .../java/io/zipcoder/polymorphism/Cat.java | 11 +++++ .../java/io/zipcoder/polymorphism/Dog.java | 5 +++ .../zipcoder/polymorphism/PetComparator.java | 13 +++++- .../io/zipcoder/polymorphism/BirdTest.java | 27 ++++++++++++ .../io/zipcoder/polymorphism/CatTest.java | 27 ++++++++++++ .../zipcoder/polymorphism/ComparatorTest.java | 43 +++++++++++++++++++ .../io/zipcoder/polymorphism/DogTest.java | 27 ++++++++++++ 8 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 src/test/java/io/zipcoder/polymorphism/ComparatorTest.java diff --git a/src/main/java/io/zipcoder/polymorphism/Bird.java b/src/main/java/io/zipcoder/polymorphism/Bird.java index 6662cd9..9016b72 100644 --- a/src/main/java/io/zipcoder/polymorphism/Bird.java +++ b/src/main/java/io/zipcoder/polymorphism/Bird.java @@ -10,4 +10,8 @@ public String speak() { return "Chirp Chirp"; } + @Override + public int compareTo(Pet o) { + return this.getName().compareTo(o.getName()); + } } diff --git a/src/main/java/io/zipcoder/polymorphism/Cat.java b/src/main/java/io/zipcoder/polymorphism/Cat.java index 526c09e..da1e79d 100644 --- a/src/main/java/io/zipcoder/polymorphism/Cat.java +++ b/src/main/java/io/zipcoder/polymorphism/Cat.java @@ -10,5 +10,16 @@ public String speak() { return "Meow"; } + @Override + public int compareTo(Pet o) { + // do this for remaining pets + if (this.getName().compareTo(o.getName()) == 0) { + this.getClass().getName(); // class name of this pet + o.getClass().getName(); // class name pet o + return this.getClass().getName().compareTo(o.getClass().getName()); + } else { + return this.getName().compareTo(o.getName()); + } + } } diff --git a/src/main/java/io/zipcoder/polymorphism/Dog.java b/src/main/java/io/zipcoder/polymorphism/Dog.java index ec4ed0f..3335152 100644 --- a/src/main/java/io/zipcoder/polymorphism/Dog.java +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -9,4 +9,9 @@ public Dog(String name){ public String speak() { return "Woof Woof"; } + + @Override + public int compareTo(Pet o) { + return this.getName().compareTo(o.getName()); + } } diff --git a/src/main/java/io/zipcoder/polymorphism/PetComparator.java b/src/main/java/io/zipcoder/polymorphism/PetComparator.java index 127647e..334cbfc 100644 --- a/src/main/java/io/zipcoder/polymorphism/PetComparator.java +++ b/src/main/java/io/zipcoder/polymorphism/PetComparator.java @@ -1,9 +1,18 @@ package io.zipcoder.polymorphism; -public class PetComparator { - +import java.util.Comparator; +public class PetComparator implements Comparator { + @Override + public int compare(Pet o1, Pet o2) { + // do this for remaining pets + if (o1.getClass().getName().compareTo(o2.getClass().getName()) == 0) { + return o1.getName().compareTo(o2.getName()); + } else { + return o1.getClass().getName().compareTo(o2.getClass().getName()); + } + } } diff --git a/src/test/java/io/zipcoder/polymorphism/BirdTest.java b/src/test/java/io/zipcoder/polymorphism/BirdTest.java index c59b0a1..f973e71 100644 --- a/src/test/java/io/zipcoder/polymorphism/BirdTest.java +++ b/src/test/java/io/zipcoder/polymorphism/BirdTest.java @@ -29,4 +29,31 @@ public void speakTest() { // Then Assert.assertEquals(expected, actual); } + + @Test + public void compareToTest() { + // Given + Bird bird = new Bird("BlueJay"); + Cat cat = new Cat("Tiger"); + + // When + Integer actual = bird.compareTo(cat); + + // Then + Assert.assertTrue(actual<0); + } + + @Test + public void compareToByNameTest() { + // Given + Bird bird = new Bird("BlueJay"); + Dog dog = new Dog("BlueJay"); + + // When + Integer actual = bird.compareTo(dog); + + // Then + Assert.assertTrue(actual<0); + } + } diff --git a/src/test/java/io/zipcoder/polymorphism/CatTest.java b/src/test/java/io/zipcoder/polymorphism/CatTest.java index 2cdd76a..31382e7 100644 --- a/src/test/java/io/zipcoder/polymorphism/CatTest.java +++ b/src/test/java/io/zipcoder/polymorphism/CatTest.java @@ -29,4 +29,31 @@ public void speakTest() { // Then Assert.assertEquals(expected, actual); } + + @Test + public void compareToTest() { + // Given + Cat cat = new Cat("Tiger"); + Dog dog = new Dog("Bobby"); + + // When + Integer actual = cat.compareTo(dog); + + // Then + Assert.assertTrue(actual>0); + } + + @Test + public void compareToByNameTest() { + // Given + Cat cat = new Cat("Tiger"); + Dog dog = new Dog("Tiger"); + + // When + Integer actual = cat.compareTo(dog); + + // Then + Assert.assertTrue(actual<0); + } + } diff --git a/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java b/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java new file mode 100644 index 0000000..d863a25 --- /dev/null +++ b/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java @@ -0,0 +1,43 @@ +package io.zipcoder.polymorphism; + +import org.junit.Assert; +import org.junit.Test; + +public class ComparatorTest { + + @Test + public void compareToTest() { + // Given + Cat cat = new Cat("Tiger"); + Dog dog = new Dog("Bobby"); + + // When + PetComparator petComp = new PetComparator(); + Integer actual = petComp.compare(cat, dog); + + // Then + Assert.assertTrue(actual<0); + } + + @Test + public void compareToTest2() { + // Given + Cat cat = new Cat("Tiger"); + Cat cat2 = new Cat("Tiger"); + + // When + PetComparator petComp = new PetComparator(); + Integer actual = petComp.compare(cat, cat2); + + // Then + Assert.assertTrue(actual==0); + } + + + + + + + + +} diff --git a/src/test/java/io/zipcoder/polymorphism/DogTest.java b/src/test/java/io/zipcoder/polymorphism/DogTest.java index 0fbbe39..b3cfeeb 100644 --- a/src/test/java/io/zipcoder/polymorphism/DogTest.java +++ b/src/test/java/io/zipcoder/polymorphism/DogTest.java @@ -30,4 +30,31 @@ public void speakTest() { // Then Assert.assertEquals(expected, actual); } + + @Test + public void compareToTest() { + // Given + Dog dog = new Dog("Bobby"); + Cat cat = new Cat("Tiger"); + + // When + Integer actual = dog.compareTo(cat); + + // Then + Assert.assertTrue(actual<0); + } + + @Test + public void compareToByNameTest() { + // Given + Bird bird = new Bird("Bobby"); + Dog dog = new Dog("Bobby"); + + // When + Integer actual = dog.compareTo(bird); + + // Then + Assert.assertTrue(actual>0); + } + } From ef54dc9779b8f955291493fab08e0fe1c7310014 Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Tue, 5 Nov 2019 21:06:08 -0500 Subject: [PATCH 7/7] done --- src/main/java/io/zipcoder/polymorphism/Bird.java | 9 ++++++++- src/main/java/io/zipcoder/polymorphism/Dog.java | 9 ++++++++- .../io/zipcoder/polymorphism/PetComparator.java | 3 +-- .../io/zipcoder/polymorphism/ComparatorTest.java | 14 +++++++++++--- .../zipcoder/polymorphism/MainApplicationTest.java | 2 ++ 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/polymorphism/Bird.java b/src/main/java/io/zipcoder/polymorphism/Bird.java index 9016b72..0a4ef52 100644 --- a/src/main/java/io/zipcoder/polymorphism/Bird.java +++ b/src/main/java/io/zipcoder/polymorphism/Bird.java @@ -12,6 +12,13 @@ public String speak() { @Override public int compareTo(Pet o) { - return this.getName().compareTo(o.getName()); + // do this for remaining pets + if (this.getName().compareTo(o.getName()) == 0) { + this.getClass().getName(); // class name of this pet + o.getClass().getName(); // class name pet o + return this.getClass().getName().compareTo(o.getClass().getName()); + } else { + return this.getName().compareTo(o.getName()); + } } } diff --git a/src/main/java/io/zipcoder/polymorphism/Dog.java b/src/main/java/io/zipcoder/polymorphism/Dog.java index 3335152..f55e372 100644 --- a/src/main/java/io/zipcoder/polymorphism/Dog.java +++ b/src/main/java/io/zipcoder/polymorphism/Dog.java @@ -12,6 +12,13 @@ public String speak() { @Override public int compareTo(Pet o) { - return this.getName().compareTo(o.getName()); + // do this for remaining pets + if (this.getName().compareTo(o.getName()) == 0) { + this.getClass().getName(); // class name of this pet + o.getClass().getName(); // class name pet o + return this.getClass().getName().compareTo(o.getClass().getName()); + } else { + return this.getName().compareTo(o.getName()); + } } } diff --git a/src/main/java/io/zipcoder/polymorphism/PetComparator.java b/src/main/java/io/zipcoder/polymorphism/PetComparator.java index 334cbfc..61c8d9c 100644 --- a/src/main/java/io/zipcoder/polymorphism/PetComparator.java +++ b/src/main/java/io/zipcoder/polymorphism/PetComparator.java @@ -7,12 +7,11 @@ public class PetComparator implements Comparator { @Override public int compare(Pet o1, Pet o2) { - // do this for remaining pets + // do this for remaining pets? if (o1.getClass().getName().compareTo(o2.getClass().getName()) == 0) { return o1.getName().compareTo(o2.getName()); } else { return o1.getClass().getName().compareTo(o2.getClass().getName()); } - } } diff --git a/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java b/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java index d863a25..084eefb 100644 --- a/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java +++ b/src/test/java/io/zipcoder/polymorphism/ComparatorTest.java @@ -33,11 +33,19 @@ public void compareToTest2() { Assert.assertTrue(actual==0); } + @Test + public void compareToTest3() { + // Given + Bird bird = new Bird("BlueJay"); + Dog dog = new Dog("Bobby"); + // When + PetComparator petComp = new PetComparator(); + Integer actual = petComp.compare(bird, dog); - - - + // Then + Assert.assertTrue(actual<0); + } } diff --git a/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java b/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java index 7181623..64a6d8e 100644 --- a/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java +++ b/src/test/java/io/zipcoder/polymorphism/MainApplicationTest.java @@ -4,4 +4,6 @@ * Created by leon on 11/6/17. */ public class MainApplicationTest { + + }