diff --git a/src/main/java/rocks/zipcodewilmington/animals/Mammal.java b/src/main/java/rocks/zipcodewilmington/animals/Mammal.java index eec2aaa..4c137f0 100644 --- a/src/main/java/rocks/zipcodewilmington/animals/Mammal.java +++ b/src/main/java/rocks/zipcodewilmington/animals/Mammal.java @@ -22,7 +22,7 @@ public Mammal(String name, Date birthDate, Integer id) { } public String getName() { - return name; + return this.name; } public void setName(String name) { @@ -50,4 +50,10 @@ public void eat(Food food) { public Integer getId() { return id; } + + public Food getLastMealEaten(){ + int lastIndex = eatenMeals.size() - 1; + return eatenMeals.get(lastIndex); + }; + } diff --git a/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java b/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java index 7522ce3..d1cdb90 100644 --- a/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java +++ b/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java @@ -1,9 +1,41 @@ package rocks.zipcodewilmington; +import org.junit.Assert; +import org.junit.Test; +import rocks.zipcodewilmington.animals.Cat; +import rocks.zipcodewilmington.animals.Dog; +import rocks.zipcodewilmington.animals.animal_creation.AnimalFactory; +import rocks.zipcodewilmington.animals.animal_storage.CatHouse; +import rocks.zipcodewilmington.animals.animal_storage.DogHouse; + +import java.util.Date; + /** * @author leon on 4/19/18. */ public class AnimalFactoryTest { //TODO - Create Test for `Animal createDog(String name, Date birthDate)` + @Test + public void createDogTest(){ + //Given + String givenName = "Hunter"; + Date givenDate = new Date(); + //When + DogHouse.clear(); + Dog newDog = AnimalFactory.createDog(givenName, givenDate); + //Then + Assert.assertEquals(newDog.getName(), givenName); + } //TODO - Create Test for `Animal createCat(String name, Date birthDate)` + @Test + public void createCatTest(){ + //Given + String givenName = "Loki"; + Date givenDate = new Date(); + //When + CatHouse.clear(); + Cat newCat = AnimalFactory.createCat(givenName, givenDate); + //Then + Assert.assertEquals(newCat.getName(), givenName); + } } diff --git a/src/test/java/rocks/zipcodewilmington/CatHouseTest.java b/src/test/java/rocks/zipcodewilmington/CatHouseTest.java index f756b34..e621456 100644 --- a/src/test/java/rocks/zipcodewilmington/CatHouseTest.java +++ b/src/test/java/rocks/zipcodewilmington/CatHouseTest.java @@ -1,12 +1,84 @@ package rocks.zipcodewilmington; +import org.junit.Assert; +import org.junit.Test; +import rocks.zipcodewilmington.animals.Cat; +import rocks.zipcodewilmington.animals.animal_storage.CatHouse; + +import java.util.Date; + /** * @author leon on 4/19/18. */ public class CatHouseTest { + // TODO - Create tests for `void add(Cat cat)` + @Test + public void addTest(){ + //Given * + Cat loki = new Cat("Loki", new Date(), 1); + Cat nana = new Cat("nana", new Date(), 2); + //When + CatHouse.add(loki); + Cat retrievedCat = CatHouse.getCatById(1); + //Then + Assert.assertEquals(loki, retrievedCat); + } + // TODO - Create tests for `void remove(Integer id)` + @Test + public void removeByIdTest(){ + //Given * + Cat jack = new Cat("jack", new Date(), 3); + Cat mini = new Cat("mini", new Date(), 4); + //When + CatHouse.add(jack); + CatHouse.add(mini); + CatHouse.remove(3); + Cat retrievedCat = CatHouse.getCatById(3); + //Then + Assert.assertNull(retrievedCat); + } // TODO - Create tests for `void remove(Cat cat)` + @Test + public void removeByCatTest(){ + //Given * + Cat cake = new Cat("cake", new Date(), 5); + Cat candy = new Cat("candy", new Date(), 6); + //When + CatHouse.add(cake); + CatHouse.add(candy); + CatHouse.remove(candy); + Cat retrievedCat = CatHouse.getCatById(6); + //Then + Assert.assertNull(retrievedCat); + } // TODO - Create tests for `Cat getCatById(Integer id)` + @Test + public void getCatByIdTest(){ + //Given * + Cat blue = new Cat("blue", new Date(), 7); + Cat red = new Cat("red", new Date(), 8); + //When + CatHouse.add(blue); + CatHouse.add(red); + Cat retrievedCat = CatHouse.getCatById(8); + //Then + Assert.assertEquals(red, retrievedCat); + } // TODO - Create tests for `Integer getNumberOfCats()` + @Test + public void getNumOfCats(){ + //Given * + Cat chubby = new Cat("chubby", new Date(), 11); + Cat skinny = new Cat("skinny", new Date(), 12); + //When + CatHouse.clear(); + CatHouse.add(chubby); + CatHouse.add(skinny); + Integer expectedNumOfCats = 2; + Integer retrievedNumOfCats = CatHouse.getNumberOfCats(); + //Then + Assert.assertEquals(expectedNumOfCats, retrievedNumOfCats, 0); + } } diff --git a/src/test/java/rocks/zipcodewilmington/CatTest.java b/src/test/java/rocks/zipcodewilmington/CatTest.java index 4bd465f..2fb505b 100644 --- a/src/test/java/rocks/zipcodewilmington/CatTest.java +++ b/src/test/java/rocks/zipcodewilmington/CatTest.java @@ -2,7 +2,9 @@ import org.junit.Assert; import org.junit.Test; +import rocks.zipcodewilmington.animals.Animal; import rocks.zipcodewilmington.animals.Cat; +import rocks.zipcodewilmington.animals.Mammal; import java.util.Date; @@ -10,13 +12,108 @@ * @author leon on 4/19/18. */ public class CatTest { + // TODO - Create tests for `void setName(String name)` + @Test + public void setNameTest(){ + //Given + String expectedName = "Loki"; + Date expectedDate = new Date(); + int expectedId = 1; + Cat newCat = new Cat(expectedName, expectedDate, expectedId); + //When + newCat.setName(expectedName); + String actualName = newCat.getName(); + //Then + Assert.assertEquals(expectedName, actualName); + } // TODO - Create tests for `speak` + @Test + public void speakTest(){ + //Given + String expectedName = "Loki"; + Date expectedDate = new Date(); + int expectedId = 1; + Cat newCat = new Cat(expectedName, expectedDate, expectedId); + String expectedSpeak = "meow!"; + //When + String actualSpeak = newCat.speak(); + //Then + Assert.assertEquals(actualSpeak,expectedSpeak); + } // TODO - Create tests for `setBirthDate(Date birthDate)` + @Test + public void setBirthDateTest(){ + //Given + String expectedName = "Loki"; + Date expectedDate = new Date(); + int expectedId = 1; + Cat newCat = new Cat(expectedName, expectedDate, expectedId); + Date newBirthday = new Date(); + //When + newCat.setBirthDate(newBirthday); + //Then + Assert.assertEquals(newCat.getBirthDate(), newBirthday); + + } + // TODO - Create tests for `void eat(Food food)` + @Test + public void eatTest(){ + //Given + String expectedName = "Loki"; + Date expectedDate = new Date(); + int expectedId = 1; + Cat newCat = new Cat(expectedName, expectedDate, expectedId); + //When + Food tuna = new Food(); + Food salmon = new Food(); + newCat.eat(tuna); + newCat.eat(salmon); + Food actualFoodEaten = newCat.getLastMealEaten(); + //Then + Assert.assertEquals(salmon, actualFoodEaten); + } + // TODO - Create tests for `Integer getId()` + @Test + public void getIdTest(){ + //Given + String givenName = "Loki"; + Date givenDate = new Date(); + int givenId = 0; + Cat cat = new Cat(givenName, givenDate, givenId); + //When + int retrievedId = cat.getId(); + //Then + Assert.assertEquals(givenId, retrievedId); + } + // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` + @Test + public void animalInheritanceTest() { + //Given + String givenName = "Loki"; + Date givenDate = new Date(); + int givenId = 0; + //When + Cat cat = new Cat(givenName, givenDate, givenId); + //Then + Assert.assertTrue(cat instanceof Animal); + } + // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` + @Test + public void mammalInheritanceTest() { + //Given + String givenName = "Loki"; + Date givenDate = new Date(); + int givenId = 0; + //When + Cat cat = new Cat(givenName, givenDate, givenId); + //Then + Assert.assertTrue(cat instanceof Mammal); + } @Test diff --git a/src/test/java/rocks/zipcodewilmington/DogHouseTest.java b/src/test/java/rocks/zipcodewilmington/DogHouseTest.java index b88b30b..735d88c 100644 --- a/src/test/java/rocks/zipcodewilmington/DogHouseTest.java +++ b/src/test/java/rocks/zipcodewilmington/DogHouseTest.java @@ -1,5 +1,6 @@ package rocks.zipcodewilmington; +import org.junit.Assert; import org.junit.Test; import rocks.zipcodewilmington.animals.Dog; import rocks.zipcodewilmington.animals.animal_creation.AnimalFactory; @@ -11,15 +12,82 @@ * @author leon on 4/19/18. */ public class DogHouseTest { + // TODO - Create tests for `void add(Dog dog)` + @Test + public void addDogTest() { + //Given * + Dog jack = new Dog("Jack", new Date(), 50); + //When + DogHouse.add(jack); + Dog retrievedDog = DogHouse.getDogById(50); + //Then + Assert.assertEquals(jack, retrievedDog); + } + // TODO - Create tests for `void remove(Integer id)` + @Test + public void removeByIdTest() { + //Given * + Dog lola = new Dog("Lola", new Date(), 25); + Dog mimi = new Dog("Mimi", new Date(), 12); + //When + DogHouse.add(lola); + DogHouse.add(mimi); + DogHouse.remove(12); + Dog removedDog = DogHouse.getDogById(12); + //Then + Assert.assertNull (removedDog); + } + // TODO - Create tests for `void remove(Dog dog)` + @Test + public void removeByDogTest() { + //Given* + Dog jerry = new Dog("Jerry", new Date(), 10); + Dog kiko = new Dog("Kiko", new Date(), 11); + //When + DogHouse.add(jerry); + DogHouse.add(kiko); + DogHouse.remove(jerry); + Dog removedDog = DogHouse.getDogById(10); + //Then + Assert.assertNull(removedDog); + } + // TODO - Create tests for `Dog getDogById(Integer id)` + @Test + public void getDogByIdTest(){ + //Given* + Dog nikki = new Dog("Nikki", new Date(), 13); + Dog coco = new Dog("Coco", new Date(), 14); + //When + DogHouse.add(nikki); + DogHouse.add(coco); + Dog retrievedDog = DogHouse.getDogById(13); + //Then + Assert.assertEquals(retrievedDog, nikki); + } + // TODO - Create tests for `Integer getNumberOfDogs()` + @Test + public void getNumOfDogsTest(){ + //Given* + DogHouse.clear(); + Dog Tbone = new Dog("Tbone", new Date(), 21); + Dog chocolate = new Dog("Chocolate", new Date(), 22); + //When + DogHouse.add(Tbone); + DogHouse.add(chocolate); + Integer expectedNumOfDogs = 2; + Integer retrievedNumOfDogs = DogHouse.getNumberOfDogs(); + //Then + Assert.assertEquals(expectedNumOfDogs, retrievedNumOfDogs, 0); + } @Test public void testGetNumberOfDogs() { - // Given (some + // Given String name = "Milo"; Date birthDate = new Date(); Dog animal = AnimalFactory.createDog(name, birthDate); diff --git a/src/test/java/rocks/zipcodewilmington/DogTest.java b/src/test/java/rocks/zipcodewilmington/DogTest.java index 34a15bd..40f0655 100644 --- a/src/test/java/rocks/zipcodewilmington/DogTest.java +++ b/src/test/java/rocks/zipcodewilmington/DogTest.java @@ -2,19 +2,83 @@ import org.junit.Assert; import org.junit.Test; +import rocks.zipcodewilmington.animals.Animal; import rocks.zipcodewilmington.animals.Dog; +import rocks.zipcodewilmington.animals.Mammal; + +import java.util.Date; /** * @author leon on 4/19/18. */ public class DogTest { + String givenName = "Sparky"; + Date givenBirthDate = new Date(); + Integer givenId = 0; + Dog dog = new Dog(givenName, givenBirthDate, givenId); + + // TODO - Create tests for `new Dog(String name, Date birthDate, Integer id)` + @Test + public void newDogTest(){ + //Given + String givenName = "Sparky"; + Date givenBirthDate = new Date(); + Integer givenId = 0; + //When + Dog dog = new Dog(givenName, givenBirthDate, givenId); + String retrievedName = dog.getName(); + Date retrievedBirthDate = dog.getBirthDate(); + Integer retrievedId = dog.getId(); + //Then + Assert.assertEquals(givenName, retrievedName); + Assert.assertEquals(givenBirthDate, retrievedBirthDate); + Assert.assertEquals(givenId, retrievedId); + + } // TODO - Create tests for `speak` + @Test + public void speakTest(){ + String bark = "bark!"; + Assert.assertEquals(bark, dog.speak()); + } + // TODO - Create tests for `setBirthDate(Date birthDate)` + @Test + public void setBirthDateTest(){ + //Given + Date newBirthday = new Date(); + //When + dog.setBirthDate(newBirthday); + //Then + Assert.assertEquals(newBirthday, dog.getBirthDate()); + } // TODO - Create tests for `void eat(Food food)` + @Test + public void eatTest(){ + Food bone = new Food(); + dog.eat(bone); + Food lastMeal = dog.getLastMealEaten(); + Assert.assertEquals(lastMeal,bone); + } // TODO - Create tests for `Integer getId()` + @Test + public void getIdTest(){ + Assert.assertEquals(givenId, dog.getId()); + } + // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` + @Test + public void inheritanceOfAnimalTest(){ + Assert.assertTrue(dog instanceof Animal); + } + // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` + @Test + public void inheritanceOfMammalTest(){ + Assert.assertTrue(dog instanceof Mammal); + } + @Test public void setNameTest() { // Given (a name exists and a dog exists)