diff --git a/src/main/java/rocks/zipcodewilmington/animals/Cat.java b/src/main/java/rocks/zipcodewilmington/animals/Cat.java index e703c36..f77553f 100644 --- a/src/main/java/rocks/zipcodewilmington/animals/Cat.java +++ b/src/main/java/rocks/zipcodewilmington/animals/Cat.java @@ -10,6 +10,11 @@ public Cat(String name, Date birthDate, Integer id) { super(name, birthDate, id); } + public Cat(String givenName) { + super(givenName); + } + + public String speak() { return "meow!"; } diff --git a/src/main/java/rocks/zipcodewilmington/animals/Mammal.java b/src/main/java/rocks/zipcodewilmington/animals/Mammal.java index eec2aaa..2ad955d 100644 --- a/src/main/java/rocks/zipcodewilmington/animals/Mammal.java +++ b/src/main/java/rocks/zipcodewilmington/animals/Mammal.java @@ -21,6 +21,14 @@ public Mammal(String name, Date birthDate, Integer id) { this.id = id; } + public Mammal(String givenName) { + this.name = givenName; + this.birthDate = null; + this.id = null; + + + } + public String getName() { return name; } diff --git a/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java b/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java index 7522ce3..2706c57 100644 --- a/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java +++ b/src/test/java/rocks/zipcodewilmington/AnimalFactoryTest.java @@ -1,9 +1,55 @@ 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 = "Slinky"; + Date givenBirthDate = new Date(); + + //When + Dog dogTest = AnimalFactory.createDog(givenName, givenBirthDate); + DogHouse.add((Dog) dogTest); + + //Then + int actual = DogHouse.getNumberOfDogs(); + Assert.assertEquals(1, actual); + } + + + + + + + //TODO - Create Test for `Animal createCat(String name, Date birthDate)` + @Test + public void createCatTest() { + //Given + String givenName = "Tom"; + Date givenBirthDate = new Date(); + + //When + Cat catTest = AnimalFactory.createCat(givenName, givenBirthDate); + CatHouse.add((Cat) catTest); + + //Then + int actual = CatHouse.getNumberOfCats(); + Assert.assertEquals(1, actual); + + } } diff --git a/src/test/java/rocks/zipcodewilmington/CatHouseTest.java b/src/test/java/rocks/zipcodewilmington/CatHouseTest.java index f756b34..7f373b5 100644 --- a/src/test/java/rocks/zipcodewilmington/CatHouseTest.java +++ b/src/test/java/rocks/zipcodewilmington/CatHouseTest.java @@ -1,12 +1,100 @@ 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.CatHouse; + +import java.util.Date; + /** * @author leon on 4/19/18. */ public class CatHouseTest { + // TODO - Create tests for `void add(Cat cat)` - // TODO - Create tests for `void remove(Integer id)` + + @Test + public void addCatTest() { + //Given + Cat addCat = AnimalFactory.createCat("Mr.Bigglesworth", null); + + //When + CatHouse.add(addCat); + int actual = CatHouse.getNumberOfCats(); + + //Then + Assert.assertEquals(2, actual); + } + // TODO - Create tests for `void remove(Cat cat)` + + @Test + public void removeCatTest(){ + //Given + Cat catToBeRemoved = new Cat("Luna", null, 1); + + //When + CatHouse.remove(catToBeRemoved); + + + //Then + int actual = CatHouse.getNumberOfCats(); + Assert.assertEquals(1, actual); + } + + // TODO - Create tests for `void remove(Integer id)` + + @Test + public void removeIntegerCatTest(){ + //Given + CatHouse catHouse = new CatHouse(); + + //When + catHouse.remove(1); + + + //Then + int actual = CatHouse.getNumberOfCats(); + Assert.assertEquals(1, actual); + } + // TODO - Create tests for `Cat getCatById(Integer id)` + + @Test + public void getCatByIdTest() { + //Given + Cat catId = new Cat ("Chaco", null, 0); + + //When + Integer actual = catId.getId(); + Integer expected = 0; + + //Then + Assert.assertEquals(expected, actual); + } + // TODO - Create tests for `Integer getNumberOfCats()` -} + + @Test + public void testGetNumberOfCats() { + // Given (some + String name = "Fluffy"; + Date birthDate = new Date(); + Cat animal = AnimalFactory.createCat(name, birthDate); + CatHouse.clear(); + + // When + CatHouse.add(animal); + + // Then + CatHouse.getNumberOfCats(); + } + + + + +} // final brace diff --git a/src/test/java/rocks/zipcodewilmington/CatTest.java b/src/test/java/rocks/zipcodewilmington/CatTest.java index 4bd465f..8d53175 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,14 +12,6 @@ * @author leon on 4/19/18. */ public class CatTest { - // TODO - Create tests for `void setName(String name)` - // TODO - Create tests for `speak` - // TODO - Create tests for `setBirthDate(Date birthDate)` - // TODO - Create tests for `void eat(Food food)` - // TODO - Create tests for `Integer getId()` - // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` - // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` - @Test public void constructorTest() { @@ -38,6 +32,121 @@ public void constructorTest() { Assert.assertEquals(givenName, retrievedName); Assert.assertEquals(givenBirthDate, retrievedBirthDate); Assert.assertEquals(givenId, retrievedId); + } // end of constructorTest + + // TODO - Create tests for `void setName(String name)` + + @Test + public void setNameTest() { + //Given + String givenName = "Zula"; + String expectedName = "Binx"; + + //When + Cat catTest = new Cat(givenName); + catTest.setName(expectedName); + + //Then + String actualName = catTest.getName(); + Assert.assertEquals(expectedName, actualName); + + } // end of setNameTest + + // TODO - Create tests for `speak` + @Test + public void speakTest() { + //Given + String givenName = "Zula"; + Date givenBirthDate = new Date (); + Integer givenId = 0; + String expectedSpeak = "meow!"; + + //When + Cat catTest = new Cat(givenName, givenBirthDate, givenId); + String actualSpeak = catTest.speak(); + + //Then + Assert.assertEquals(expectedSpeak, actualSpeak); + + } // end of speakTest + + // TODO - Create tests for `setBirthDate(Date birthDate)` + + @Test + public void setBirthDateTest() { + //Given + String givenName = "Zula"; + Date givenBirthDate = new Date (); + Date expectedDate = new Date(27-0-1992); + Integer givenId = 0; + + //When + Cat catTest = new Cat(givenName, givenBirthDate,givenId); + catTest.setBirthDate(expectedDate); + + //Then + Date actualBirthDate = catTest.getBirthDate(); + Assert.assertEquals(expectedDate, actualBirthDate); + } //end of birthdate test + + // TODO - Create tests for `void eat(Food food)` + + @Test + public void eatTest () { + //Given + String givenName = "Zula"; + Date givenBirthDate = new Date (); + Integer givenId = 0; + Integer expected = 1; + Food food = new Food (); + + //When + Cat catTest = new Cat(givenName, givenBirthDate, givenId); + catTest.eat(food); + + //Then + Integer actual = catTest.getNumberOfMealsEaten(); + Assert.assertEquals(expected, actual); + } + + // TODO - Create tests for `Integer getId()` + + @Test + public void getIdTest() { + //Given + String givenName = "Zula"; + Date givenBirthDate = new Date (); + Integer expected = 7; + + //When + Cat catTest = new Cat(givenName, givenBirthDate, 7); + Integer actual = catTest.getId(); + + //Then + Assert.assertEquals(expected, actual); + } + + // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` + + @Test + public void animalInheritanceTest() { + Animal cat = new Cat ("Salem"); + Assert.assertTrue(cat instanceof Animal); + } + + // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` + + @Test + public void mammalInheritanceTest() { + Mammal cat = new Cat ("Fluffy"); + Assert.assertTrue(cat instanceof Mammal); } -} + + + + + + + +} //final brace diff --git a/src/test/java/rocks/zipcodewilmington/DogHouseTest.java b/src/test/java/rocks/zipcodewilmington/DogHouseTest.java index b88b30b..5f349e3 100644 --- a/src/test/java/rocks/zipcodewilmington/DogHouseTest.java +++ b/src/test/java/rocks/zipcodewilmington/DogHouseTest.java @@ -1,8 +1,12 @@ 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 rocks.zipcodewilmington.animals.animal_storage.DogHouse; import java.util.Date; @@ -11,10 +15,69 @@ * @author leon on 4/19/18. */ public class DogHouseTest { - // TODO - Create tests for `void add(Dog dog)` - // TODO - Create tests for `void remove(Integer id)` + + // TODO - Create tests for `void add(Dog dog)` + + @Test + public void addDogTest() { + //Given + Dog addDog = AnimalFactory.createDog("Underdog", null); + + //When + DogHouse.add(addDog); + int actual = DogHouse.getNumberOfDogs(); + + //Then + Assert.assertEquals(2, actual); + } + // TODO - Create tests for `void remove(Dog dog)` + + @Test + public void removeDogTest(){ + //Given + Dog dogToBeRemoved = new Dog("Sandy", null, 1); + + //When + DogHouse.remove(dogToBeRemoved); + + + //Then + int actual = DogHouse.getNumberOfDogs(); + Assert.assertEquals(1, actual); + } + + // TODO - Create tests for `void remove(Integer id)` + + @Test + public void removeIntegerDogTest(){ + //Given + DogHouse dogHouse = new DogHouse(); + + //When + dogHouse.remove(1); + + + //Then + int actual = DogHouse.getNumberOfDogs(); + Assert.assertEquals(1, actual); + } + // TODO - Create tests for `Dog getDogById(Integer id)` + + @Test + public void getDogByIdTest() { + //Given + Dog dogId = new Dog("Chaco", null, 0); + + //When + Integer actual = dogId.getId(); + Integer expected = 0; + + //Then + Assert.assertEquals(expected, actual); + } + // TODO - Create tests for `Integer getNumberOfDogs()` @Test @@ -31,4 +94,5 @@ public void testGetNumberOfDogs() { // Then DogHouse.getNumberOfDogs(); } + } diff --git a/src/test/java/rocks/zipcodewilmington/DogTest.java b/src/test/java/rocks/zipcodewilmington/DogTest.java index 34a15bd..f98eda0 100644 --- a/src/test/java/rocks/zipcodewilmington/DogTest.java +++ b/src/test/java/rocks/zipcodewilmington/DogTest.java @@ -2,19 +2,41 @@ import org.junit.Assert; import org.junit.Test; +import rocks.zipcodewilmington.animals.Animal; import rocks.zipcodewilmington.animals.Dog; +import rocks.zipcodewilmington.animals.Dog; +import rocks.zipcodewilmington.animals.Mammal; + +import java.util.Date; /** * @author leon on 4/19/18. */ public class DogTest { + // TODO - Create tests for `new Dog(String name, Date birthDate, Integer id)` - // TODO - Create tests for `speak` - // TODO - Create tests for `setBirthDate(Date birthDate)` - // TODO - Create tests for `void eat(Food food)` - // TODO - Create tests for `Integer getId()` - // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` - // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` + + @Test + public void constructorTest() { + // Given (dog data) + String givenName = "Momo"; + Date givenBirthDate = new Date(); + Integer givenId = 0; + + // When (a dog is constructed) + Dog dog = new Dog(givenName, givenBirthDate, givenId); + + // When (we retrieve data from the dog) + String retrievedName = dog.getName(); + Date retrievedBirthDate = dog.getBirthDate(); + Integer retrievedId = dog.getId(); + + // Then (we expect the given data, to match the retrieved data) + Assert.assertEquals(givenName, retrievedName); + Assert.assertEquals(givenBirthDate, retrievedBirthDate); + Assert.assertEquals(givenId, retrievedId); + } // end of constructorTest + @Test public void setNameTest() { // Given (a name exists and a dog exists) @@ -28,4 +50,94 @@ public void setNameTest() { String dogName = dog.getName(); Assert.assertEquals(dogName, givenName); } -} + + // TODO - Create tests for `setBirthDate(Date birthDate)` + @Test + public void setBirthDate() { + // Given + String givenName = "Roscoe"; + Date givenBirthDate = new Date(); + Integer givenId = 0; + Date expectedDate = new Date(19 - 6 - 2015); + + // When + Dog dogTest = new Dog(givenName, givenBirthDate, givenId); + dogTest.setBirthDate(expectedDate); + + // Then + Date actual = dogTest.getBirthDate(); + Assert.assertEquals(expectedDate, actual); + } + + // TODO - Create tests for `speak` + + @Test + public void speakTest() { + //Given + String givenName = "Kujo"; + Date givenBirthDate = new Date(); + Integer givenId = 0; + String expectedSpeak = "bark!"; + + //When + Dog dogTest = new Dog(givenName, givenBirthDate, givenId); + String actualSpeak = dogTest.speak(); + + //Then + Assert.assertEquals(expectedSpeak, actualSpeak); + + } + + // TODO - Create tests for `void eat(Food food)` + + @Test + public void eatTest () { + //Given + String givenName = "Rover"; + Date givenBirthDate = new Date (); + Integer givenId = 0; + Integer expected = 1; + Food food = new Food (); + + //When + Dog dogTest = new Dog(givenName, givenBirthDate, givenId); + dogTest.eat(food); + + //Then + Integer actual = dogTest.getNumberOfMealsEaten(); + Assert.assertEquals(expected, actual); + } + + // TODO - Create tests for `Integer getId()` + + @Test + public void getIdTest() { + //Given + String givenName = "Shotzzie"; + Date givenBirthDate = new Date (); + Integer expected = 3; + + //When + Dog dogTest = new Dog(givenName, givenBirthDate, 3); + Integer actual = dogTest.getId(); + + //Then + Assert.assertEquals(expected, actual); + } + + // TODO - Create test to check Animal inheritance; google search `java instanceof keyword` + @Test + public void animalInheritanceTest() { + Animal dog = new Dog ("Toto", null , null); + Assert.assertTrue(dog instanceof Animal); + } + + + // TODO - Create test to check Mammal inheritance; google search `java instanceof keyword` + @Test + public void mammalInheritanceTest() { + Mammal dog = new Dog ("Eddy", null , null); + Assert.assertTrue(dog instanceof Mammal); + } + +}//final brace \ No newline at end of file