diff --git a/src/main/java/io/zipcoder/Application.java b/src/main/java/io/zipcoder/Application.java index 3a257cb..81de582 100644 --- a/src/main/java/io/zipcoder/Application.java +++ b/src/main/java/io/zipcoder/Application.java @@ -1,5 +1,59 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Scanner; +import java.util.Collections; + public class Application { -} + + private int numberOfPets; + protected ArrayList pets = new ArrayList(); + Scanner input = new Scanner(System.in); + + public int storePetInformation(){ + System.out.println("How many pets do you own?"); + numberOfPets = input.nextInt(); + for(int i = 0; i pets) { + StringBuilder petList = new StringBuilder(); + for(int i = 0; i < pets.size(); i++) { + petList.append(pets.get(i).getName() + " " + pets.get(i).speak()+"\n"); + } + System.out.println(petList.toString().trim()); + return petList.toString().trim(); + } + public void addPet(Pet pet) { + pets.add(pet); + } + public static void main(String [] args){ + Application application = new Application(); + application.storePetInformation(); + application.petNameAndSpeak(application.pets); + } + +} \ No newline at end of file diff --git a/src/main/java/io/zipcoder/Bird.java b/src/main/java/io/zipcoder/Bird.java new file mode 100644 index 0000000..e9e26e0 --- /dev/null +++ b/src/main/java/io/zipcoder/Bird.java @@ -0,0 +1,12 @@ +package io.zipcoder; + +public class Bird extends Pet { + public Bird(String name) { + super(name); + } + + @Override + public String speak() { + return "Squak"; + } +} diff --git a/src/main/java/io/zipcoder/Cat.java b/src/main/java/io/zipcoder/Cat.java new file mode 100644 index 0000000..9083db0 --- /dev/null +++ b/src/main/java/io/zipcoder/Cat.java @@ -0,0 +1,12 @@ +package io.zipcoder; + +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/Dog.java b/src/main/java/io/zipcoder/Dog.java new file mode 100644 index 0000000..d219b72 --- /dev/null +++ b/src/main/java/io/zipcoder/Dog.java @@ -0,0 +1,12 @@ +package io.zipcoder; + +public class Dog extends Pet { + public Dog(String name) { + super(name); + } + + @Override + public String speak() { + return "Woof"; + } +} diff --git a/src/main/java/io/zipcoder/Pet.java b/src/main/java/io/zipcoder/Pet.java new file mode 100644 index 0000000..1abf3d3 --- /dev/null +++ b/src/main/java/io/zipcoder/Pet.java @@ -0,0 +1,32 @@ +package io.zipcoder; + +import java.util.Comparator; + +public class Pet implements Comparable, Comparator{ + + private String name; + + public Pet(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String speak() { + return ""; + } + + public int compareTo(Pet o) { + return 0; + } + + public int compare(Pet o1, Pet o2) { + return 0; + } +} diff --git a/src/test/java/io/zipcoder/ApplicationTest.java b/src/test/java/io/zipcoder/ApplicationTest.java index b744df5..25c4cb5 100644 --- a/src/test/java/io/zipcoder/ApplicationTest.java +++ b/src/test/java/io/zipcoder/ApplicationTest.java @@ -1,5 +1,26 @@ package io.zipcoder; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import org.junit.Assert; +import org.junit.Test; public class ApplicationTest { +@Test +public void petNameAndSpeakTest() { + + Application app = new Application(); + Bird bird = new Bird("Ugly Bird"); + Cat cat = new Cat ("Fitzgerald"); + Dog dog = new Dog("Oreo"); + app.pets.add(bird); + app.pets.add(cat); + app.pets.add(dog); + + String expected = "Ugly Bird Squak\nFitzgerald Meow\nOreo Bark"; + String actual = app.petNameAndSpeak(app.pets); +} + } diff --git a/src/test/java/io/zipcoder/BirdTest.java b/src/test/java/io/zipcoder/BirdTest.java new file mode 100644 index 0000000..9b3487d --- /dev/null +++ b/src/test/java/io/zipcoder/BirdTest.java @@ -0,0 +1,26 @@ +package io.zipcoder; + +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.*; + + +public class BirdTest { + + @Test + public void speak() { + Bird bird = new Bird("Birdie Bird"); + String expected = "Squak"; + String actual = bird.speak(); + Assert.assertEquals(expected, actual); + } + @Test + public void setNameTest() { + Bird bird = new Bird(""); + String expected = "Ugly Bird"; + bird.setName("Ugly Bird"); + String actual = bird.getName(); + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/CatTest.java b/src/test/java/io/zipcoder/CatTest.java new file mode 100644 index 0000000..dfa739f --- /dev/null +++ b/src/test/java/io/zipcoder/CatTest.java @@ -0,0 +1,26 @@ +package io.zipcoder; + +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class CatTest { + + @Test + public void speak() { + Cat cat = new Cat("Fitzgerald"); + String expected = "Meow"; + String actual = cat.speak(); + Assert.assertEquals(expected, actual); + } + @Test + public void setNameTest() { + Cat cat = new Cat(""); + String expected = "Fitzgerald"; + cat.setName("Fitzgerald"); + String actual = cat.getName(); + Assert.assertEquals(expected, actual); + } + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/DogTest.java b/src/test/java/io/zipcoder/DogTest.java new file mode 100644 index 0000000..dfd5315 --- /dev/null +++ b/src/test/java/io/zipcoder/DogTest.java @@ -0,0 +1,25 @@ +package io.zipcoder; + +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class DogTest { + + @Test + public void speak() { + Dog dog = new Dog("Oreo"); + String expected = "Woof"; + String actual = dog.speak(); + Assert.assertEquals(expected, actual); + } + @Test + public void setNameTest() { + Dog dog = new Dog(""); + String expected = "Oreo"; + dog.setName("Oreo"); + String actual = dog.getName(); + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/PetTest.java b/src/test/java/io/zipcoder/PetTest.java new file mode 100644 index 0000000..e61f797 --- /dev/null +++ b/src/test/java/io/zipcoder/PetTest.java @@ -0,0 +1,16 @@ +package io.zipcoder; + +import org.junit.Test; + +import static org.junit.Assert.*; + +public class PetTest { + + @Test + public void getName() { + Cat cat = new Cat("Fitzgerald"); + String actual = cat.getName(); + String expected = "Fitzgerald"; + assertEquals(expected, actual); + } +} \ No newline at end of file