diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..d4b577e
Binary files /dev/null and b/.DS_Store differ
diff --git a/Frolian UML V3.9.png b/Frolian UML V3.9.png
new file mode 100644
index 0000000..a99e353
Binary files /dev/null and b/Frolian UML V3.9.png differ
diff --git a/pom.xml b/pom.xml
index 69a3b87..3d2525b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,50 @@
com.zipcodewilmington
froilans-farm
1.0-SNAPSHOT
+
+
+ 11
+ 11
+
+
+
+
+ junit
+ junit
+ 4.13.1
+ test
+
+
+ junit
+ junit
+ 3.8.2
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter
+ RELEASE
+ test
+
+
+ junit
+ junit
+ 4.13.1
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 8
+ 8
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Chicken.java
new file mode 100644
index 0000000..43a9de9
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Chicken.java
@@ -0,0 +1,49 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Edible.Egg;
+import com.zipcodewilmington.froilansfarm.Edible.Vegetable;
+import com.zipcodewilmington.froilansfarm.Crop.Produce;
+import com.zipcodewilmington.froilansfarm.Persons.Animal;
+
+public class Chicken extends Animal implements Produce {
+
+ boolean hasBeenFertilized = false;
+
+ public boolean isHasBeenFertilized() {
+ return hasBeenFertilized;
+ }
+
+ public void setHasBeenFertilized(boolean b) {
+ this.hasBeenFertilized = b;
+ }
+
+ public String makeNoise() {
+ return "Cluck";
+ }
+
+ public Egg yield() {
+
+ Egg egg = new Egg();
+ if (this.hasBeenFertilized == true) {
+ return egg;
+ }
+ return null;
+ }
+
+ @Override
+ public void yeild() {
+
+ }
+
+ @Override
+ public void hasBeenHarvested() {
+
+ }
+
+ @Override
+ public void eat(Edible edible) {
+ this.isFed = true;
+
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Horse.java b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Horse.java
new file mode 100644
index 0000000..8942713
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Horse.java
@@ -0,0 +1,43 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.Edible.EarCorn;
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Persons.Animal;
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+import com.zipcodewilmington.froilansfarm.Rideable;
+
+public class Horse extends Animal implements Rideable {
+
+ private boolean isRidden = false;
+ private Person rider ;
+ public void setRider(Person rider) {
+ this.rider = rider;
+
+ }
+
+ public Object getRider() {
+ return rider;
+ }
+
+ public boolean getIsRidden() {
+ return isRidden;
+ }
+
+ public void setRidden(boolean b) {
+ this.isRidden = b;
+ }
+ public String makeNoise() {
+ return "Whinny";
+ }
+
+ @Override
+ public void eat(Edible edible) {
+
+ }
+
+ @Override
+ public void getMounted(Person rider) {
+
+ }
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Crop/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/CornStalk.java
new file mode 100644
index 0000000..d3e127c
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/CornStalk.java
@@ -0,0 +1,33 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Edible.EarCorn;
+
+
+public class CornStalk extends Crop{
+ EarCorn ec;
+
+ public CornStalk() {
+ super();
+
+ }
+
+ public void yeild() {
+ if(harvested && fertilized){
+ ec = new EarCorn();
+
+ }
+ }
+
+ public EarCorn getEarCorn() {
+ return ec;
+ }
+
+ public void setFertilized(boolean b) {
+ this.fertilized = b;
+ }
+
+ public boolean getFertStatus() {
+ return this.fertilized;
+ }
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Crop.java
new file mode 100644
index 0000000..0290dbb
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Crop.java
@@ -0,0 +1,31 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+public abstract class Crop implements Produce {
+
+ boolean harvested = false;
+ boolean fertilized = false;
+
+ public Crop() {
+ }
+
+ public void setHarvested(boolean harvested) {
+ this.harvested = harvested;
+ }
+
+ public void setFertilized(boolean fertilized) {
+ this.fertilized = fertilized;
+ }
+
+ public boolean hasBeenFertilized() {return fertilized;}
+
+ public void hasBeenHarvested() {
+ harvested = true;
+ }
+
+ public boolean getHarvested() {return harvested;}
+
+
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalk.java
new file mode 100644
index 0000000..41f9f1f
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalk.java
@@ -0,0 +1,34 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Edible.Kale;
+
+public class KaleStalk extends Crop{
+
+ Kale kale;
+ public KaleStalk() {}
+
+ public KaleStalk(boolean harvested) {
+ super();
+ }
+
+ public void yeild() {
+ if(harvested && fertilized){
+ kale = new Kale();
+
+ }
+
+ }
+
+ public Kale getKale() {
+ return kale;
+ }
+
+ public void setFertilized(boolean b) {
+ this.fertilized = b;
+ }
+
+ public boolean getFertStatus() {
+ return this.fertilized;
+ }
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Produce.java b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Produce.java
new file mode 100644
index 0000000..11421c2
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/Produce.java
@@ -0,0 +1,12 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+
+public interface Produce {
+ public void yeild();
+
+ public void hasBeenHarvested();
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlant.java
new file mode 100644
index 0000000..8a304f2
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlant.java
@@ -0,0 +1,35 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Edible.Tomato;
+
+public class TomatoPlant extends Crop {
+
+ Tomato tomato;
+
+ public TomatoPlant() {}
+ public TomatoPlant(boolean harvested) {
+ super();
+ }
+
+ public void yeild() {
+ if(harvested && fertilized){
+ tomato = new Tomato();
+
+ }
+
+ }
+ public Tomato getTomato() {
+ return tomato;
+ }
+
+ public void setFertilized(boolean b) {
+ this.fertilized = b;
+ }
+
+ public boolean getFertStatus() {
+ return this.fertilized;
+ }
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/EarCorn.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/EarCorn.java
new file mode 100644
index 0000000..dc6b4b0
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/EarCorn.java
@@ -0,0 +1,14 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public class EarCorn extends Vegetable{
+
+
+
+ @Override
+ public boolean isEdible() {
+ if(gotEaten){
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Edible.java
new file mode 100644
index 0000000..0072e9f
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Edible.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public interface Edible {
+
+ public boolean isEdible();
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Egg.java
new file mode 100644
index 0000000..c7a78f9
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Egg.java
@@ -0,0 +1,20 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public class Egg implements Edible{
+ boolean gotEaten = false;
+
+
+ public void setEatenStatus() {
+
+ gotEaten=true;
+
+ }
+ @Override
+ public boolean isEdible() {
+ if(gotEaten){
+ return false;
+ }
+ return true;
+ }
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Kale.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Kale.java
new file mode 100644
index 0000000..ed254c6
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Kale.java
@@ -0,0 +1,15 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public class Kale extends Vegetable {
+
+
+ @Override
+ public boolean isEdible() {
+ if(gotEaten){
+ return false;
+ }
+ return true;
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Tomato.java
new file mode 100644
index 0000000..83d6e75
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Tomato.java
@@ -0,0 +1,11 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public class Tomato extends Vegetable{
+ @Override
+ public boolean isEdible() {
+ if(gotEaten){
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Vegetable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Vegetable.java
new file mode 100644
index 0000000..100bbee
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible/Vegetable.java
@@ -0,0 +1,15 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+public abstract class Vegetable implements Edible{
+
+ public boolean gotEaten = false;
+
+
+ public void setEatenStatus() {
+
+ gotEaten=true;
+
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/NoiseMaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/NoiseMaker.java
new file mode 100644
index 0000000..51eb41c
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/NoiseMaker.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm;
+
+public interface NoiseMaker {
+
+
+ public String makeNoise();
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Animal.java
new file mode 100644
index 0000000..a6164eb
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Animal.java
@@ -0,0 +1,39 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.NoiseMaker;
+
+public abstract class Animal implements Eater, NoiseMaker {
+ public Boolean isFed = false;
+ private String name;
+
+ public Animal(String name) {
+ this.name = name;
+
+ }
+
+ public Animal() {
+
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getIsFed() {
+ return isFed;
+ }
+
+ public void setIsFed(Boolean isFed) {
+ this.isFed = isFed;
+ }
+
+
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Botanist.java
new file mode 100644
index 0000000..a15d134
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Botanist.java
@@ -0,0 +1,12 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Crop.Crop;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+
+import java.util.List;
+
+public interface Botanist {
+ default void plants(CropRows cropRows, Crop crop ) {
+
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Eater.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Eater.java
new file mode 100644
index 0000000..569a59f
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Eater.java
@@ -0,0 +1,9 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+public interface Eater{
+
+ public void eat(Edible edible);
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Farmer.java
new file mode 100644
index 0000000..69be890
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Farmer.java
@@ -0,0 +1,4 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+public interface Farmer {
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Feeder.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Feeder.java
new file mode 100644
index 0000000..bdc7287
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Feeder.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+
+public interface Feeder {
+
+ public void feed(Animal animal, Edible edible);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilan.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilan.java
new file mode 100644
index 0000000..78310e5
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilan.java
@@ -0,0 +1,74 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Crop.Crop;
+import com.zipcodewilmington.froilansfarm.Rideable;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.StorageUnits.Pantry;
+
+public class Froilan extends Person implements Botanist, Farmer{
+ int eatenfood=0;
+
+ public Froilan(){
+
+ }
+ public Froilan(String name) {
+ super(name);
+ }
+
+ @Override
+ public void plants(CropRows cropRows, Crop crop) {
+
+ cropRows.add(crop);
+ }
+
+// @Override
+// public void eat(Edible edible) {
+// Pantry.remove(edible);
+// eatenfood ++;
+//
+// }
+
+ @Override
+ public void feed(Animal animal, Edible edible) {
+ animal.eat(edible);
+
+
+
+ }
+
+ @Override
+ public void mount(Rideable rideable) {
+ rideable.getMounted(this);
+ }
+
+ @Override
+ public void dismount(Rideable rideable) {
+ rideable.getMounted(null);
+
+ }
+
+ @Override
+ public String makeNoise() {
+ System.out.println("Where's my Eggs!");
+ return "Where's my Eggs!";
+
+ }
+
+
+ public void eat(Edible edible) {
+// Pantry.remove(edible);
+ eatenfood ++;
+ if (this.eatenfood >= 8){
+ this.isFed = true;
+ }
+
+
+
+ }
+
+ @Override
+ public void eat(Object o) {
+
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilanda.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilanda.java
new file mode 100644
index 0000000..e6affef
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Froilanda.java
@@ -0,0 +1,62 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Rideable;
+import com.zipcodewilmington.froilansfarm.StorageUnits.Pantry;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+
+
+public class Froilanda extends Person implements Pilot{
+ int eatenFood=0;
+
+ public Froilanda(){
+
+ }
+
+ public Froilanda(String name) {
+ super(name);
+ }
+
+ @Override
+ public String makeNoise() {
+ System.out.println("Look out below!");
+
+ return "Look out below!";
+ }
+
+
+ @Override
+ public void flys(CropDuster cropDuster) {
+ cropDuster.fly();
+
+ }
+
+ @Override
+ public void mount(Rideable rideable) {
+ rideable.getMounted(this);
+ }
+
+ @Override
+ public void dismount(Rideable rideable) {
+ rideable.getMounted(null);
+ }
+
+ @Override
+ public void feed(Animal animal, Edible edible) {
+ animal.eat(edible);
+
+ }
+
+
+
+
+ @Override
+ public void eat(Object o) {
+ // Pantry.remove(edible);
+ this.eatenFood ++;
+ if (this.eatenFood >= 5){
+ this.isFed = true;
+ }
+
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Person.java
new file mode 100644
index 0000000..b4e4b5f
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Person.java
@@ -0,0 +1,16 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Vehicle.Vehicle;
+
+public abstract class Person extends Animal implements Feeder, Rider {
+ public Person(String name) {
+ super(name);
+ }
+
+ public Person() {
+ super();
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Pilot.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Pilot.java
new file mode 100644
index 0000000..bfa6a59
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Pilot.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+
+public interface Pilot {
+
+ public void flys(CropDuster cropDuster);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Rider.java
new file mode 100644
index 0000000..6ebeaea
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Persons/Rider.java
@@ -0,0 +1,12 @@
+package com.zipcodewilmington.froilansfarm.Persons;
+
+import com.zipcodewilmington.froilansfarm.Rideable;
+import com.zipcodewilmington.froilansfarm.Vehicle.Vehicle;
+
+public interface Rider {
+
+ void mount(Rideable rideable);
+
+ void dismount(Rideable rideable);
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Rideable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Rideable.java
new file mode 100644
index 0000000..5840014
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Rideable.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm;
+
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+
+public interface Rideable {
+ void getMounted(AnyType rider);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/ChickenCoop.java
new file mode 100644
index 0000000..2502a06
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/ChickenCoop.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+
+public class ChickenCoop extends StorageUnit{
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/CropRows.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/CropRows.java
new file mode 100644
index 0000000..4ca1829
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/CropRows.java
@@ -0,0 +1,13 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import com.zipcodewilmington.froilansfarm.Crop.Crop;
+
+
+public class CropRows extends StorageUnit {
+
+ public CropRows() {
+ super();
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmField.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmField.java
new file mode 100644
index 0000000..7370fa6
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmField.java
@@ -0,0 +1,5 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+public class FarmField extends StorageUnit{
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmHouse.java
new file mode 100644
index 0000000..8ca920d
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/FarmHouse.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+
+public class FarmHouse extends StorageUnit{
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Pantry.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Pantry.java
new file mode 100644
index 0000000..2705577
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Pantry.java
@@ -0,0 +1,36 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import com.zipcodewilmington.froilansfarm.Edible.*;
+
+import java.util.ArrayList;
+
+public class Pantry extends ArrayList{
+
+ private ArrayList tomatoList;
+ private ArrayList kaleList;
+ private ArrayList earCornList;
+ private ArrayList eggList;
+
+ public Pantry() {
+ this.tomatoList = new ArrayList();
+ this.kaleList = new ArrayList();
+ this.earCornList = new ArrayList();
+ this.eggList = new ArrayList();
+ }
+
+ public ArrayList getTomatoList() {
+ return tomatoList;
+ }
+
+ public ArrayList getKaleList() {
+ return kaleList;
+ }
+
+ public ArrayList getEarCornList() {
+ return earCornList;
+ }
+
+ public ArrayList getEggList() {
+ return eggList;
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Stables.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Stables.java
new file mode 100644
index 0000000..804f67e
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/Stables.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+
+public class Stables extends StorageUnit{
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/StorageUnit.java b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/StorageUnit.java
new file mode 100644
index 0000000..d9e887d
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/StorageUnits/StorageUnit.java
@@ -0,0 +1,13 @@
+package com.zipcodewilmington.froilansfarm.StorageUnits;
+
+import java.util.ArrayList;
+
+public abstract class StorageUnit extends ArrayList{
+ private ArrayList storageList;
+
+ public StorageUnit() {
+ this.storageList = new ArrayList();
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraft.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraft.java
new file mode 100644
index 0000000..c63812c
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraft.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+public interface AirCraft {
+
+ public void fly();
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDuster.java
new file mode 100644
index 0000000..4f50ff8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDuster.java
@@ -0,0 +1,48 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.Crop.Crop;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import com.zipcodewilmington.froilansfarm.Rideable;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+
+public class CropDuster extends Vehicle implements Rideable, FarmVehicle, AirCraft {
+
+ Boolean isFlying = false;
+
+ public CropDuster(){super();}
+
+ public CropDuster(Froilanda operator) {
+ super(operator);
+ }
+
+ @Override
+ public void getMounted(Froilanda rider) {
+ this.operator = rider;
+ }
+
+
+ @Override
+ public String makeNoise() {
+ return "NYOOOM";
+ }
+
+ @Override
+ public void fly() {
+ this.isFlying = true;
+ }
+
+ public void land() {
+ this.isFlying = false;
+ }
+
+ @Override
+ public void operateOnFarm(CropRows cropRows) {
+ for (Object c : cropRows) { if (c instanceof Crop) { ((Crop) c).setFertilized(true); } }
+ //cropRows.stream().filter(c -> c instanceof Crop).forEach(c -> c.setFertilized(true));
+
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicle.java
new file mode 100644
index 0000000..2594c01
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicle.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+
+public interface FarmVehicle {
+
+ public void operateOnFarm(CropRows cropRows);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Tractor.java
new file mode 100644
index 0000000..00da607
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Tractor.java
@@ -0,0 +1,41 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.Crop.Crop;
+import com.zipcodewilmington.froilansfarm.Edible.Vegetable;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+
+public class Tractor extends Vehicle implements FarmVehicle{
+
+
+ public Tractor(){super();}
+
+ public Tractor(Rider operator) {
+ super(operator);
+ }
+
+ public Rider getOperator() {
+ return this.operator;
+ }
+
+
+ @Override
+ public String makeNoise() {
+ return "VROOM";
+ }
+
+
+
+ @Override
+ public void getMounted(Rider rider) {
+ this.operator = rider;
+ }
+
+ @Override
+ public void operateOnFarm(CropRows cropRows) {
+ for (Object c : cropRows) { if (c instanceof Crop) { ((Crop) c).setHarvested(true); } }
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Vehicle.java
new file mode 100644
index 0000000..d3c8bc3
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Vehicle.java
@@ -0,0 +1,41 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.NoiseMaker;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import com.zipcodewilmington.froilansfarm.Rideable;
+
+public abstract class Vehicle implements VehicleInterface, NoiseMaker, Rideable {
+ AnyType operator;
+ boolean engineIsOn = false;
+
+ public Vehicle() {}
+ public Vehicle(AnyType operator) {
+ this.operator = operator;
+ }
+
+ public AnyType getOperator() {
+ return operator;
+ }
+
+ public void setOperator(AnyType operator) {
+ this.operator = operator;
+ }
+
+ public boolean getEngineIsOn() {
+ return engineIsOn;
+ }
+ public boolean getEngineStatus() {return getEngineIsOn();}
+
+ public void turnOnEngine() {
+ this.engineIsOn = true;
+ }
+
+ public void turnOffEngine() {
+ this.engineIsOn = false;
+ }
+
+ public abstract void getMounted(AnyType rider);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterface.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterface.java
new file mode 100644
index 0000000..33f03df
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterface.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+public interface VehicleInterface {
+
+ public void turnOnEngine();
+
+ public void turnOffEngine();
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Animal/ChickenTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/ChickenTest.java
new file mode 100644
index 0000000..8be39e4
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/ChickenTest.java
@@ -0,0 +1,49 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.Edible.Egg;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ChickenTest {
+
+ private Chicken chicken;
+ @Before
+ public void setUp() {
+ chicken = new Chicken();
+ }
+
+ @Test
+ public void setHasBeenFertilized() {
+ Assert.assertFalse(chicken.isHasBeenFertilized());
+ }
+
+ @Test
+ public void setHasBeenFertilizedTrue() {
+ Chicken chick = new Chicken();
+ chick.setHasBeenFertilized(true);
+ Assert.assertTrue(chick.isHasBeenFertilized());
+ }
+
+ @Test
+ public void makeNoise() {
+ String expected = "Cluck";
+ String actual = chicken.makeNoise();
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void yield() {
+ chicken.setHasBeenFertilized(false);
+ Egg actual = chicken.yield();
+ Assert.assertNull(actual);
+ }
+
+ @Test
+ public void yield2() {
+ chicken.setHasBeenFertilized(true);
+ Egg actual = chicken.yield();
+ Assert.assertNotNull(actual);
+ }
+}
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Animal/HorseTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/HorseTest.java
new file mode 100644
index 0000000..0b60673
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/HorseTest.java
@@ -0,0 +1,70 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import static junit.framework.TestCase.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class HorseTest {
+ private Horse horse;
+ @Before
+ public void setUp() {
+ horse = new Horse();
+ }
+
+ @Test
+ public void testRiderFroilan() {
+ // given
+ Froilan rider = new Froilan("Froilan");
+ Horse horse = new Horse();
+ // when
+ horse.setRider(rider);
+ // then
+ assertEquals(rider, horse.getRider());
+ }
+
+ @Test
+ public void testRiderFroilanda() {
+ // given
+ Froilanda rider = new Froilanda("Froilanda");
+ Horse horse = new Horse();
+ // when
+ horse.setRider(rider);
+ // then
+ assertEquals(rider, horse.getRider());
+ }
+
+ @Test
+ public void testRidden() {
+ Horse horse = new Horse();
+ // given
+ assertFalse(horse.getIsRidden());
+ // when
+ horse.setRidden(true);
+ // then
+ assertTrue(horse.getIsRidden());
+ }
+
+ @Test
+ public void testMounted() {
+ Horse horse = new Horse();
+ // given
+ assertFalse(horse.getIsRidden());
+ // when
+ horse.setRidden(true);
+ // then
+ assertTrue(horse.getIsRidden());
+ }
+
+ @Test
+ public void makeNoise() {
+ String expected = "Whinny";
+ String actual = horse.makeNoise();
+ Assert.assertEquals(expected, actual);
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Animal/RideableTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/RideableTest.java
new file mode 100644
index 0000000..caa2998
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/RideableTest.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import org.junit.Test;
+
+public class RideableTest {
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Crop/CornStalkTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/CornStalkTest.java
new file mode 100644
index 0000000..8cbe218
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/CornStalkTest.java
@@ -0,0 +1,72 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Edible.Edible;
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+import com.zipcodewilmington.froilansfarm.Vehicle.Tractor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CornStalkTest {
+
+ @Test
+ public void cornPInstanceOfCrop (){
+
+ CornStalk cStalk = new CornStalk();
+ Assert.assertTrue(cStalk instanceof Crop);
+ }
+
+ @Test
+ public void cornNonHarvestTest() {
+
+ CornStalk cStalk = new CornStalk();
+ Froilan f = new Froilan();
+ Tractor trac = new Tractor();
+ Froilanda fa = new Froilanda();
+ CropDuster cd = new CropDuster();
+ CropRows cropR = new CropRows();
+
+
+ Assert.assertTrue(cStalk.getEarCorn() == null);
+
+ }
+
+ @Test
+ public void cornHarvestHalfConditionTest() {
+
+ CornStalk cStalk = new CornStalk();
+ CropRows cropR = new CropRows();
+
+ cropR.add(cStalk);
+ cStalk.setHarvested(true);
+ cStalk.yeild();
+
+ Assert.assertFalse(cStalk.getFertStatus());
+ Assert.assertTrue(cStalk.getHarvested());
+ Assert.assertTrue(cStalk.getEarCorn() == null);
+
+
+
+ }
+
+ @Test
+ public void cornHarvestTest() {
+
+ CornStalk cStalk = new CornStalk();
+ CropRows cropR = new CropRows();
+
+ cropR.add(cStalk);
+ cStalk.setFertilized(true);
+ cStalk.setHarvested(true);
+ cStalk.yeild();
+
+ Assert.assertTrue(cStalk.getFertStatus());
+ Assert.assertTrue(cStalk.getHarvested());
+ Assert.assertFalse(cStalk.getEarCorn() == null);
+ }
+
+
+ }
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalkTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalkTest.java
new file mode 100644
index 0000000..a214604
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/KaleStalkTest.java
@@ -0,0 +1,72 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+import com.zipcodewilmington.froilansfarm.Vehicle.Tractor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class KaleStalkTest {
+
+ @Test
+ public void kalePInstanceOfCrop (){
+
+ KaleStalk kStalk = new KaleStalk();
+ Assert.assertTrue(kStalk instanceof Crop);
+ }
+
+
+ @Test
+ public void kaleNonHarvestTest() {
+
+ CornStalk kStalk = new CornStalk();
+ CropRows cropR = new CropRows();
+
+ cropR.add(kStalk);
+
+
+ Assert.assertTrue(kStalk.getEarCorn() == null);
+
+ }
+
+ @Test
+ public void cornHarvestHalfConditionTest() {
+
+ KaleStalk kStalk = new KaleStalk();
+ CropRows cropR = new CropRows();
+
+ cropR.add(kStalk);
+ kStalk.setHarvested(true);
+ kStalk.yeild();
+
+ Assert.assertFalse(kStalk.getFertStatus());
+ Assert.assertTrue(kStalk.getHarvested());
+ Assert.assertTrue(kStalk.getKale() == null);
+
+
+
+ }
+
+ @Test
+ public void cornHarvestTest() {
+
+ KaleStalk kStalk = new KaleStalk(false);
+ CropRows cropR = new CropRows();
+
+ cropR.add(kStalk);
+ kStalk.setFertilized(true);
+ kStalk.setHarvested(true);
+ kStalk.yeild();
+
+ Assert.assertTrue(kStalk.getFertStatus());
+ Assert.assertTrue(kStalk.getHarvested());
+ Assert.assertFalse(kStalk.getKale() == null);
+ }
+
+}
+
+
+
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Crop/ProduceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/ProduceTest.java
new file mode 100644
index 0000000..444fb1a
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/ProduceTest.java
@@ -0,0 +1,18 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ProduceTest {
+ @Test
+ public void chickenInstanceOfProduce (){
+ Chicken chicken = new Chicken();
+
+ Assert.assertTrue(chicken instanceof Produce);
+ }
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlantTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlantTest.java
new file mode 100644
index 0000000..d9b804f
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Crop/TomatoPlantTest.java
@@ -0,0 +1,65 @@
+package com.zipcodewilmington.froilansfarm.Crop;
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+import com.zipcodewilmington.froilansfarm.Vehicle.Tractor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TomatoPlantTest {
+
+ @Test
+ public void tomPInstanceOfCrop (){
+
+ TomatoPlant tom = new TomatoPlant();
+ Assert.assertTrue(tom instanceof Crop);
+ }
+
+
+ @Test
+ public void tomNonHarvestTest() {
+
+ TomatoPlant tPlant = new TomatoPlant();
+
+
+ Assert.assertTrue(tPlant.getTomato() == null);
+
+ }
+
+ @Test
+ public void cornHarvestHalfConditionTest() {
+
+ TomatoPlant tPlant = new TomatoPlant();
+ CropRows cropR = new CropRows();
+
+ cropR.add(tPlant);
+ tPlant.setHarvested(true);
+ tPlant.yeild();
+
+ Assert.assertFalse(tPlant.getFertStatus());
+ Assert.assertTrue(tPlant.getHarvested());
+ Assert.assertTrue(tPlant.getTomato() == null);
+
+
+
+ }
+
+ @Test
+ public void cornHarvestTest() {
+
+ TomatoPlant tPlant = new TomatoPlant(false);
+ CropRows cropR = new CropRows();
+
+ cropR.add(tPlant);
+ tPlant.setFertilized(true);
+ tPlant.setHarvested(true);
+ tPlant.yeild();
+
+ Assert.assertTrue(tPlant.getFertStatus());
+ Assert.assertTrue(tPlant.getHarvested());
+ Assert.assertFalse(tPlant.getTomato() == null);
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EarCornTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EarCornTest.java
new file mode 100644
index 0000000..3dd663d
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EarCornTest.java
@@ -0,0 +1,45 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EarCornTest {
+
+ @Test
+ public void ecInstanceOfVegetable (){
+ EarCorn earcorn = new EarCorn();
+
+ Assert.assertTrue(earcorn instanceof Vegetable);
+ }
+
+ @Test
+ public void earCornGotEatenTest(){
+ //Given
+ EarCorn ec = new EarCorn();
+ Froilan f= new Froilan();
+
+ //When people eat (under Eater)
+ f.eat(ec);
+ ec.setEatenStatus();
+
+ Assert.assertTrue(ec.gotEaten);
+
+ }
+
+ @Test
+ public void tomSetEatenStat(){
+
+ EarCorn ec = new EarCorn();
+
+ //when setting true, checking if its been eaten
+ ec.setEatenStatus();
+
+ Assert.assertTrue(ec.gotEaten);
+
+ }
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EdibleInterfaceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EdibleInterfaceTest.java
new file mode 100644
index 0000000..abf28fc
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EdibleInterfaceTest.java
@@ -0,0 +1,16 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EdibleInterfaceTest {
+
+// @Test
+
+// public void instanceOfEdibleTest (){
+//
+// Assert.assertTrue(Vegetable instanceof Edible);
+// }
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EggTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EggTest.java
new file mode 100644
index 0000000..b43c19e
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/EggTest.java
@@ -0,0 +1,42 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EggTest {
+ @Test
+
+ public void instanceOfEdibleTest (){
+ Egg egg = new Egg();
+
+ Assert.assertTrue(egg instanceof Edible);
+ }
+
+// @Test
+// public void eggGotEatenTest(){
+// //Given
+// Egg egg = new Egg();
+// Froilan f= new Froilan();
+//
+// //When people eat (under Eater)
+// f.eat(egg);
+//
+// Assert.assertTrue(egg.gotEaten);
+//
+// }
+
+ @Test
+ public void eggSetEatenStat(){
+ //we make egg its false that its not eata bc just born
+ Egg egg = new Egg();
+
+ //when setting true, checking if its been eaten
+ egg.setEatenStatus();
+
+ Assert.assertTrue(egg.gotEaten);
+
+ }
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Edible/KaleTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/KaleTest.java
new file mode 100644
index 0000000..857c3ed
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/KaleTest.java
@@ -0,0 +1,43 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class KaleTest {
+
+ @Test
+ public void kInstanceOfVegetable (){
+ Kale kale = new Kale();
+
+ Assert.assertTrue(kale instanceof Vegetable);
+ }
+
+// @Test
+// public void kaleGotEatenTest(){
+// //Given
+// Kale kale = new Kale();
+// Froilan f= new Froilan();
+//
+// //When people eat (under Eater)
+// f.eat(kale);
+//
+// Assert.assertTrue(kale.gotEaten());
+//
+// }
+
+ @Test
+ public void tomSetEatenStat(){
+ //we make egg its false that its not eata bc just born
+ Kale kale = new Kale();
+
+ //when setting true, checking if its been eaten
+ kale.setEatenStatus();
+
+ Assert.assertTrue(kale.gotEaten);
+
+ }
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Edible/TomatoTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/TomatoTest.java
new file mode 100644
index 0000000..d9eb714
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Edible/TomatoTest.java
@@ -0,0 +1,42 @@
+package com.zipcodewilmington.froilansfarm.Edible;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TomatoTest {
+ @Test
+ public void tomInstanceOfVegetable (){
+
+ Tomato tomato = new Tomato();
+ Assert.assertTrue(tomato instanceof Vegetable);
+ }
+
+// @Test
+// public void tomGotEatenTest(){
+// //Given
+// Tomato tom = new Tomato();
+// Froilan f= new Froilan();
+//
+// //When people eat (under Eater)
+// f.eat(tom);
+//
+// Assert.assertTrue(tom.gotEaten);
+//
+// }
+
+ @Test
+ public void tomSetEatenStat(){
+ //we make egg its false that its not eata bc just born
+ Tomato tom = new Tomato();
+
+ //when setting true, checking if its been eaten
+ tom.setEatenStatus();
+
+ Assert.assertTrue(tom.gotEaten);
+
+ }
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FroilanTests.java b/src/test/java/com/zipcodewilmington/froilansfarm/FroilanTests.java
new file mode 100644
index 0000000..374df79
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/FroilanTests.java
@@ -0,0 +1,141 @@
+package com.zipcodewilmington.froilansfarm;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+import com.zipcodewilmington.froilansfarm.Crop.CornStalk;
+import com.zipcodewilmington.froilansfarm.Edible.EarCorn;
+import com.zipcodewilmington.froilansfarm.Edible.Egg;
+import com.zipcodewilmington.froilansfarm.Edible.Tomato;
+import com.zipcodewilmington.froilansfarm.Persons.*;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.Vehicle.Tractor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FroilanTests {
+
+
+ @Test
+ public void instanceOfRiderTest() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Rider);
+ }
+
+ @Test
+ public void instanceOfEaterTest() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Eater);
+ }
+
+ @Test
+ public void instanceOfBotanist() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Botanist);
+ }
+
+ @Test
+ public void instanceOfPerson() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Person);
+ }
+
+ @Test
+ public void instanceOfAnimal() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Animal);
+ }
+
+ @Test
+ public void instanceOfFarmer() {
+ Froilan froilan = new Froilan();
+ Assert.assertTrue(froilan instanceof Farmer);
+ }
+
+// @Test
+// public void feedTest() {
+// Froilan froilan = new Froilan();
+// Chicken chicken1 = new Chicken();
+// EarCorn earcorn = new EarCorn();
+//
+// froilan.feed(chicken1, earcorn);
+//
+// Assert.assertTrue(chicken1.eat(earcorn));
+//
+// }
+
+ @Test
+ public void makeNoiseTest() {
+ Froilan froilan = new Froilan();
+
+ String expected = "Where's my Eggs!";
+ String actual = froilan.makeNoise();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void eatTest() {
+ Froilan froilan = new Froilan();
+ EarCorn earcorn = new EarCorn();
+ EarCorn earcorn2 = new EarCorn();
+ Tomato tomato1 = new Tomato();
+ Egg egg1 = new Egg();
+ Egg egg2 = new Egg();
+ Egg egg3 = new Egg();
+ Egg egg4 = new Egg();
+ Egg egg5 = new Egg();
+
+
+ froilan.eat(earcorn);
+ froilan.eat(earcorn2);
+ froilan.eat(tomato1);
+ froilan.eat(egg1);
+ froilan.eat(egg2);
+ froilan.eat(egg3);
+ froilan.eat(egg4);
+ froilan.eat(egg5);
+
+ Assert.assertTrue(froilan.getIsFed());
+ }
+
+ @Test
+ public void plantsTest() {
+ Froilan froilan = new Froilan();
+ CropRows row1 = new CropRows();
+ CornStalk cornStalk = new CornStalk();
+
+ froilan.plants(row1, cornStalk);
+
+
+ Assert.assertTrue(row1.contains(cornStalk));
+
+ }
+
+ @Test
+ public void mountTest() {
+ Froilan froilan = new Froilan();
+ Tractor tractor = new Tractor();
+
+ froilan.mount(tractor);
+ Rider expected = froilan;
+ Rider actual = tractor.getOperator();
+
+ Assert.assertEquals(expected, actual);
+
+
+ }
+
+ @Test
+ public void dismountTest() {
+ Froilan froilan = new Froilan();
+ Tractor tractor = new Tractor();
+
+ froilan.mount(tractor);
+ Rider expected = tractor.getOperator();
+ froilan.dismount(tractor);
+ Rider actual = tractor.getOperator();
+
+ Assert.assertNotEquals(expected, actual);
+ }
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FroilandaTests.java b/src/test/java/com/zipcodewilmington/froilansfarm/FroilandaTests.java
new file mode 100644
index 0000000..82ace72
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/FroilandaTests.java
@@ -0,0 +1,135 @@
+package com.zipcodewilmington.froilansfarm;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+import com.zipcodewilmington.froilansfarm.Edible.EarCorn;
+import com.zipcodewilmington.froilansfarm.Edible.Egg;
+import com.zipcodewilmington.froilansfarm.Edible.Tomato;
+import com.zipcodewilmington.froilansfarm.Persons.*;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FroilandaTests {
+
+ @Test
+ public void instanceOfRiderTest() {
+ Froilanda froilanda = new Froilanda();
+
+ Assert.assertTrue(froilanda instanceof Rider);
+ }
+
+ @Test
+ public void instanceOfEaterTest() {
+ Froilanda froilanda = new Froilanda();
+
+ Assert.assertTrue(froilanda instanceof Eater);
+ }
+
+ @Test
+ public void instanceOfPilot() {
+ Froilanda froilanda = new Froilanda();
+
+ Assert.assertTrue(froilanda instanceof Pilot);
+ }
+
+ @Test
+ public void instanceOfPerson() {
+ Froilanda froilanda = new Froilanda();
+
+ Assert.assertTrue(froilanda instanceof Person);
+ }
+
+ @Test
+ public void instanceOfAnimal() {
+ Froilanda froilanda = new Froilanda();
+ Assert.assertTrue(froilanda instanceof Animal);
+ }
+
+
+ @Test
+ public void getNameTest(){
+ Froilanda flo = new Froilanda("flo");
+ String expected = "flo";
+
+ String actual = flo.getName();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void setNameTest(){
+ Froilanda flo = new Froilanda("flo");
+ String expected = "Eggo";
+
+ flo.setName(expected);
+ String actual = flo.getName();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void flysTest() {
+ Froilanda froilanda = new Froilanda();
+ CropDuster cropduster = new CropDuster();
+
+ froilanda.mount(cropduster);
+ froilanda.flys(cropduster);
+
+ Assert.assertTrue(cropduster.getOperator() == (froilanda));
+ }
+
+
+ @Test
+ public void mountTest() {
+ Froilanda froilanda = new Froilanda();
+ CropDuster cropduster = new CropDuster();
+
+ froilanda.mount(cropduster);
+ Rider expected = froilanda;
+ Rider actual = cropduster.getOperator();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void feedTest() {
+ Froilanda froilanda = new Froilanda();
+ Chicken chicken1 = new Chicken();
+ EarCorn earcorn = new EarCorn();
+
+ froilanda.feed(chicken1, earcorn);
+
+ Assert.assertTrue(chicken1.getIsFed());
+
+ }
+
+ @Test
+ public void makeNoiseTest() {
+ Froilanda froilanda = new Froilanda();
+
+ String expected = "Look out below!";
+ String actual = froilanda.makeNoise();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void eatTest() {
+ Froilanda froilanda = new Froilanda();
+ EarCorn earcorn = new EarCorn();
+ Tomato tomato1 = new Tomato();
+ Tomato tomato2 = new Tomato();
+ Egg egg1 = new Egg();
+ Egg egg2 = new Egg();
+
+ froilanda.eat(earcorn);
+ froilanda.eat(tomato1);
+ froilanda.eat(tomato2);
+ froilanda.eat(egg1);
+ froilanda.eat(egg2);
+
+ Assert.assertTrue(froilanda.getIsFed());
+ }
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/PersonTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/PersonTest.java
new file mode 100644
index 0000000..9e1319f
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/PersonTest.java
@@ -0,0 +1,19 @@
+package com.zipcodewilmington.froilansfarm;
+
+
+import com.zipcodewilmington.froilansfarm.Persons.Animal;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class PersonTest {
+// @Test
+// public void instanceOfAnimal() {
+// Assert.assertTrue(Person instanceof Animal);
+// }
+//
+// @Test
+// public void instanceOfNoiseMaker() {
+// Assert.assertTrue(Person instanceof NoiseMaker);
+//
+// }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/AnimalTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/AnimalTest.java
new file mode 100644
index 0000000..becc4d2
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/AnimalTest.java
@@ -0,0 +1,12 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class AnimalTest {
+
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/ChickenCoopTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/ChickenCoopTest.java
new file mode 100644
index 0000000..8998c5d
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/ChickenCoopTest.java
@@ -0,0 +1,65 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+import com.zipcodewilmington.froilansfarm.StorageUnits.ChickenCoop;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ChickenCoopTest {
+
+ @Test
+ public void instanceOfStorageUnitTest(){
+ ChickenCoop chickenCoop = new ChickenCoop();
+ Assert.assertTrue(chickenCoop instanceof StorageUnit);
+ }
+
+ @Test
+ public void addTest(){
+ //given
+ ChickenCoop chickenCoop = new ChickenCoop();
+ Chicken chicken = new Chicken();
+ Integer expected = 1;
+ //when
+ chickenCoop.add(chicken);
+ Integer actual = chickenCoop.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ ChickenCoop chickenCoop = new ChickenCoop();
+ Chicken chicken = new Chicken();
+ chickenCoop.add(chicken);
+ Integer expected = 0;
+ //when
+ chickenCoop.remove(chicken);
+ Integer actual = chickenCoop.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getTest(){
+ //given
+ ChickenCoop chickenCoop = new ChickenCoop();
+ Chicken chicken = new Chicken();
+ chickenCoop.add(chicken);
+ Chicken expected = chicken;
+ //when
+ Chicken actual = chickenCoop.get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ ChickenCoop chickenCoop = new ChickenCoop();
+
+ //Then
+ Assert.assertTrue(chickenCoop.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/CropRowsTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/CropRowsTest.java
new file mode 100644
index 0000000..6fb1c18
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/CropRowsTest.java
@@ -0,0 +1,62 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Crop.TomatoPlant;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CropRowsTest {
+
+
+
+
+ @Test
+ public void addTest(){
+ //given
+ CropRows cropHouse = new CropRows();
+ TomatoPlant tomato = new TomatoPlant(false);
+ Integer expected = 1;
+ //when
+ cropHouse.add(tomato);
+ Integer actual = cropHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ CropRows cropHouse = new CropRows();
+ TomatoPlant tomatoPlant = new TomatoPlant(false);
+ cropHouse.add(tomatoPlant);
+ Integer expected = 0;
+ //when
+ cropHouse.remove(tomatoPlant);
+ Integer actual = cropHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getTest(){
+ //given
+ CropRows cropHouse = new CropRows();
+ TomatoPlant tomatoPlant = new TomatoPlant(false);
+ cropHouse.add(tomatoPlant);
+ TomatoPlant expected = tomatoPlant;
+ //when
+ TomatoPlant actual = (TomatoPlant) cropHouse.get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ CropRows cropHouse = new CropRows();
+
+ //Then
+ Assert.assertTrue(cropHouse.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmFieldTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmFieldTest.java
new file mode 100644
index 0000000..e754f06
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmFieldTest.java
@@ -0,0 +1,66 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Crop.CornStalk;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import com.zipcodewilmington.froilansfarm.StorageUnits.FarmField;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FarmFieldTest {
+
+ @Test
+ public void instanceOfStorageUnitTest(){
+ FarmField field = new FarmField();
+ Assert.assertTrue(field instanceof StorageUnit);
+ }
+
+ @Test
+ public void addTest(){
+ //given
+ FarmField field = new FarmField();
+ CropRows croprow = new CropRows<>();
+ Integer expected = 1;
+ //when
+ field.add(croprow);
+ Integer actual = field.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ FarmField field = new FarmField();
+ CropRows croprow = new CropRows<>();
+ field.add(croprow);
+ Integer expected = 0;
+ //when
+ field.remove(croprow);
+ Integer actual = field.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getTest(){
+ //given
+ FarmField field = new FarmField();
+ CropRows croprow = new CropRows<>();
+ field.add(croprow);
+ CropRows expected = croprow;
+ //when
+ CropRows actual = field.get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ FarmField field = new FarmField();
+
+ //Then
+ Assert.assertTrue(field.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmHouseTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmHouseTest.java
new file mode 100644
index 0000000..3ec5772
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/FarmHouseTest.java
@@ -0,0 +1,66 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.StorageUnits.FarmHouse;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FarmHouseTest {
+
+
+ @Test
+ public void instanceOfStorageUnitTest(){
+ FarmHouse farmHouse = new FarmHouse();
+ Assert.assertTrue(farmHouse instanceof StorageUnit);
+ }
+
+ @Test
+ public void addTest(){
+ //given
+ FarmHouse farmHouse = new FarmHouse();
+ Froilan froilan = new Froilan();
+ Integer expected = 1;
+ //when
+ farmHouse.add(froilan);
+ Integer actual = farmHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ FarmHouse farmHouse = new FarmHouse();
+ Froilan froilan = new Froilan();
+ farmHouse.add(froilan);
+ Integer expected = 0;
+ //when
+ farmHouse.remove(froilan);
+ Integer actual = farmHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getTest(){
+ //given
+ FarmHouse farmHouse = new FarmHouse();
+ Froilan froilan = new Froilan();
+ farmHouse.add(froilan);
+ Froilan expected = froilan;
+ //when
+ Froilan actual = (Froilan) farmHouse.get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ FarmHouse farmHouse = new FarmHouse();
+
+ //Then
+ Assert.assertTrue(farmHouse.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/PantryTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/PantryTest.java
new file mode 100644
index 0000000..f256ecb
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/PantryTest.java
@@ -0,0 +1,103 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Edible.EarCorn;
+import com.zipcodewilmington.froilansfarm.Edible.Egg;
+import com.zipcodewilmington.froilansfarm.Edible.Kale;
+import com.zipcodewilmington.froilansfarm.Edible.Tomato;
+import com.zipcodewilmington.froilansfarm.StorageUnits.Pantry;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class PantryTest {
+
+
+
+
+ @Test
+ public void addTest(){
+ //given
+ Pantry pantry = new Pantry();
+ Egg egg = new Egg();
+ Integer expected = 1;
+ //when
+ pantry.add(egg);
+ Integer actual = pantry.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ Pantry pantry = new Pantry();
+ Egg egg = new Egg();
+ pantry.add(egg);
+ Integer expected = 0;
+ //when
+ pantry.remove(egg);
+ Integer actual = pantry.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getEggTest(){
+ //given
+ Pantry pantry = new Pantry();
+ Egg egg = new Egg();
+ pantry.getEggList().add(egg);
+ Egg expected = egg;
+ //when
+ Egg actual = pantry.getEggList().get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+ @Test
+ public void getKaleTest(){
+ //given
+ Pantry pantry = new Pantry();
+ Kale kale = new Kale();
+ pantry.getKaleList().add(kale);
+ Kale expected = kale;
+ //when
+ Kale actual = pantry.getKaleList().get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getEarCornTest(){
+ //given
+ Pantry pantry = new Pantry();
+ EarCorn corn = new EarCorn();
+ pantry.getEarCornList().add(corn);
+ EarCorn expected = corn;
+ //when
+ EarCorn actual = pantry.getEarCornList().get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+ @Test
+ public void getTomatoTest(){
+ //given
+ Pantry pantry = new Pantry();
+ Tomato tomato = new Tomato();
+ pantry.getTomatoList().add(tomato);
+ Tomato expected = tomato;
+ //when
+ Tomato actual = pantry.getTomatoList().get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ Pantry pantry = new Pantry();
+
+ //Then
+ Assert.assertTrue(pantry.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/StableTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/StableTest.java
new file mode 100644
index 0000000..fa991fa
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/StorageUnitTest/StableTest.java
@@ -0,0 +1,64 @@
+package com.zipcodewilmington.froilansfarm.StorageUnitTest;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.StorageUnits.Stables;
+import com.zipcodewilmington.froilansfarm.StorageUnits.StorageUnit;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class StableTest {
+ @Test
+ public void instanceOfStorageUnitTest(){
+ Stables stables = new Stables();
+ Assert.assertTrue(stables instanceof StorageUnit);
+ }
+
+ @Test
+ public void addTest(){
+ //given
+ Stables horseHouse = new Stables();
+ Horse horse = new Horse();
+ Integer expected = 1;
+ //when
+ horseHouse.add(horse);
+ Integer actual = horseHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void removeTest(){
+ //given
+ Stables horseHouse = new Stables();
+ Horse horse = new Horse();
+ horseHouse.add(horse);
+ Integer expected = 0;
+ //when
+ horseHouse.remove(horse);
+ Integer actual = horseHouse.size();
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getTest(){
+ //given
+ Stables horseHouse = new Stables();
+ Horse horse = new Horse();
+ horseHouse.add(horse);
+ Horse expected = horse;
+ //when
+ Horse actual = horseHouse.get(0);
+ //then
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void isEmptyTest(){
+ //given
+ Stables horseHouse = new Stables();
+
+ //Then
+ Assert.assertTrue(horseHouse.isEmpty());
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraftTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraftTest.java
new file mode 100644
index 0000000..b9806a0
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraftTest.java
@@ -0,0 +1,22 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class AirCraftTest{
+
+ @Test
+ public void isImplementingInterfaceTest(){
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+
+ //Then
+ Assert.assertTrue(cropDuster instanceof AirCraft);
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDusterTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDusterTest.java
new file mode 100644
index 0000000..be7ad9e
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDusterTest.java
@@ -0,0 +1,116 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.Crop.KaleStalk;
+import com.zipcodewilmington.froilansfarm.Edible.Kale;
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CropDusterTest {
+
+ @Test
+ public void cropDusterExtendsVehicleTest() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+
+ //Then
+ Assert.assertTrue(cropDuster instanceof Vehicle);
+ }
+
+ @Test
+ public void cropDusterGetMountedTest1() {
+ //Given
+ Froilanda dan = new Froilanda("Dan");
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+
+ //Then
+ Assert.assertTrue(cropDuster.getOperator() == null);
+
+ }
+ @Test
+ public void cropDusterGetMountedTest2() {
+ //Given
+ Froilanda sam = new Froilanda("Sam");
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+ cropDuster.getMounted(sam);
+ Froilanda expectedPerson = sam;
+ Froilanda actualPerson = cropDuster.getOperator();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+
+ }
+
+
+ @Test
+ public void cropDusterFertilizerFieldTest() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+ CropRows kaleRow = new CropRows();
+
+ //When
+ cropDuster.operateOnFarm(kaleRow);
+ boolean allFert = true;
+
+ for (KaleStalk k : kaleRow) {
+ if (!k.hasBeenFertilized())
+ allFert = false;
+ }
+
+ //Then
+ Assert.assertTrue(allFert);
+ }
+
+ @Test
+ public void makeNoiseTest() {
+ //Given
+ CropDuster spitFire = new CropDuster();
+
+ //When
+ String expected = "NYOOOM";
+ String actual = spitFire.makeNoise();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+
+ }
+
+ @Test
+ public void flyTest() {
+ //Given
+ CropDuster spitFire = new CropDuster();
+
+ //When
+ spitFire.fly();
+
+ //Then
+ Assert.assertTrue(spitFire.isFlying);
+
+ }
+
+ @Test
+ public void landTest() {
+ //Given
+ CropDuster spitFire = new CropDuster();
+
+ //When
+ spitFire.fly();
+ spitFire.land();
+
+ //Then
+ Assert.assertFalse(spitFire.isFlying);
+ }
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicleInterfaceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicleInterfaceTest.java
new file mode 100644
index 0000000..ec476d0
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicleInterfaceTest.java
@@ -0,0 +1,20 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FarmVehicleInterfaceTest {
+
+ @Test
+ public void isImplementingInterfaceTest(){
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+
+ //Then
+ Assert.assertTrue(tractor instanceof FarmVehicle);
+
+ }
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TractorTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TractorTest.java
new file mode 100644
index 0000000..65eb9e9
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TractorTest.java
@@ -0,0 +1,92 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.Crop.CornStalk;
+import com.zipcodewilmington.froilansfarm.Crop.KaleStalk;
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import com.zipcodewilmington.froilansfarm.StorageUnits.CropRows;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TractorTest {
+
+ @Test
+ public void tractorExtendsVehicleTest() {
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+
+
+ //Then
+ Assert.assertTrue(tractor instanceof Vehicle);
+ }
+
+
+ @Test
+ public void tractorOperateOnfarmTest1() {
+ //Given
+ Tractor mater = new Tractor();
+ CropRows cornRow = new CropRows();
+
+ //When
+ mater.operateOnFarm(cornRow);
+ boolean allHarv = true;
+ for (CornStalk c : cornRow) {
+ if (c.getHarvested())
+ allHarv = false;
+ }
+
+ //Then
+ Assert.assertTrue(allHarv);
+ }
+
+
+ @Test
+ public void tractorGetMountedTest1() {
+ //Given
+ Froilan froilan = new Froilan("Froilan");
+ Tractor tractor = new Tractor();
+
+ //When
+ tractor.getMounted(froilan);
+
+ //Then
+ Assert.assertTrue(tractor.getOperator() != null);
+ }
+
+ @Test
+ public void tractorGetMountedTest2() {
+ //Given
+ Froilan froilan = new Froilan("Froilan");
+ Tractor tractor = new Tractor();
+ tractor.getMounted(froilan);
+
+ //When
+ Rider expectedPerson = froilan;
+ Rider actualPerson = tractor.getOperator();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+
+ }
+ @Test
+ public void makeNoiseTest() {
+ //Given
+ Tractor mater = new Tractor();
+
+ //When
+ String expected = "VROOM";
+ String actual = mater.makeNoise();
+
+ //Then
+ Assert.assertEquals(expected, actual);
+
+ }
+
+
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterfaceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterfaceTest.java
new file mode 100644
index 0000000..c5ed222
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleInterfaceTest.java
@@ -0,0 +1,96 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class VehicleInterfaceTest {
+ @Test
+ public void isImplementingInterfaceTest1() {
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+
+ //Then
+ Assert.assertTrue(tractor instanceof FarmVehicle);
+
+ }
+
+ @Test
+ public void isImplementingInterfaceTest2() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+
+ //Then
+ Assert.assertTrue(cropDuster instanceof FarmVehicle);
+
+ }
+
+
+ @Test
+ public void vehicleTurnOnEngineTest1() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+ cropDuster.turnOnEngine();
+
+ //Then
+ Assert.assertTrue(cropDuster.getEngineIsOn());
+
+ }
+
+
+ @Test
+ public void vehicleTurnOnEngineTest2() {
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+ tractor.turnOnEngine();
+
+ //Then
+ Assert.assertTrue(tractor.getEngineIsOn());
+ }
+
+ @Test
+ public void vehicleTurnOffEngineTest1() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+ cropDuster.turnOnEngine();
+ cropDuster.turnOffEngine();
+
+ boolean expectedStatus = false;
+ boolean actualStatus = cropDuster.getEngineIsOn();
+
+ //Then
+ Assert.assertEquals(expectedStatus, actualStatus);
+
+ }
+
+ @Test
+ public void vehicleTurnOffEngineTest2() {
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+ tractor.turnOnEngine();
+ tractor.turnOffEngine();
+
+ boolean expectedStatus = false;
+ boolean actualStatus = tractor.getEngineIsOn();
+
+ //Then
+ Assert.assertEquals(expectedStatus, actualStatus);
+
+ }
+
+
+}
+
+
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleTest.java
new file mode 100644
index 0000000..0444abc
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/VehicleTest.java
@@ -0,0 +1,97 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+
+import com.zipcodewilmington.froilansfarm.Persons.Froilan;
+import com.zipcodewilmington.froilansfarm.Persons.Froilanda;
+import com.zipcodewilmington.froilansfarm.Persons.Person;
+import com.zipcodewilmington.froilansfarm.Persons.Rider;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class VehicleTest {
+
+ @Test
+ public void vehicleNullConstructorTest1() {
+ //Given
+ CropDuster cropDuster = new CropDuster();
+
+ //When
+ Rider expectedPerson = null;
+ Rider actualPerson = cropDuster.getOperator();
+ boolean expectedEngineStatus = false;
+ boolean actualEngineStatus = cropDuster.getEngineStatus();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+ Assert.assertEquals(expectedEngineStatus, actualEngineStatus);
+
+ }
+ @Test
+ public void vehicleNullConstructorTest2() {
+ //Given
+ Tractor tractor = new Tractor();
+
+ //When
+ Rider expectedPerson = null;
+ Rider actualPerson = tractor.getOperator();
+ boolean expectedEngineStatus = false;
+ boolean actualEngineStatus = tractor.getEngineStatus();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+ Assert.assertEquals(expectedEngineStatus, actualEngineStatus);
+
+ }
+ @Test
+ public void vehicleOperatorConstructorTest() {
+ //Given
+ Froilan dan = new Froilan("Dan");
+ Tractor tractor = new Tractor(dan);
+
+ //When
+ Rider expectedPerson = dan;
+ Rider actualPerson = tractor.getOperator();
+
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+
+ }
+ @Test
+ public void vehicleSetOperatorTest1() {
+ //Given
+ Froilan dan = new Froilan("Dan");
+ Froilan sue = new Froilan("Sue");
+ Tractor tractor = new Tractor(dan);
+
+ //When
+ tractor.setOperator(sue);
+
+ Rider expectedPerson = sue;
+ Rider actualPerson = tractor.getOperator();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+
+ }
+
+ @Test
+ public void vehicleSetOperatorTest2() {
+ //Given
+ Froilanda sue = new Froilanda("Sue");
+ CropDuster cropDuster = new CropDuster(sue);
+
+ //When
+ cropDuster.setOperator(sue);
+
+ Person expectedPerson = sue;
+ Rider actualPerson = cropDuster.getOperator();
+
+ //Then
+ Assert.assertEquals(expectedPerson, actualPerson);
+
+ }
+
+
+
+}