diff --git a/pom.xml b/pom.xml
index 69a3b87..47ca89f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,26 @@
com.zipcodewilmington
froilans-farm
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 6
+ 6
+
+
+
+
+
+
+ junit
+ junit
+ RELEASE
+ test
+
+
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Animal.java
new file mode 100644
index 0000000..4bfd729
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Animal.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Eater;
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+
+public abstract class Animal implements NoiseMaker, Eater {
+}
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..d82f07b
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Chicken.java
@@ -0,0 +1,23 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Eater;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Edible;
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.Produce;
+
+public class Chicken extends Animal {
+
+
+ public Boolean eat() {
+return true;
+ }
+
+ public Boolean hasBeenFed() {
+ return null;
+ }
+
+ public String makeNoise() {
+ return "Peep!";
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Egg.java
new file mode 100644
index 0000000..c9f00f4
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Egg.java
@@ -0,0 +1,14 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Edible;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.Produce;
+
+public abstract class Egg extends Chicken implements Produce {
+ Edible edible;
+
+
+ public Boolean isFertilized() {
+ return edible.getHasBeenFertilized();
+ }
+}
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..7378fa8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Animal/Horse.java
@@ -0,0 +1,28 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rideable;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+
+public class Horse extends Animal implements Rideable {
+
+ public Boolean eat() {
+return true;
+ }
+
+ public Boolean hasBeenFed() {
+ return null;
+ }
+
+ public String makeNoise() {
+ return "Neigh!";
+ }
+
+ public Boolean mounted(Rider object) {
+ return null;
+ }
+
+ public Boolean dismounted(Rider object) {
+ return null;
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java b/src/main/java/com/zipcodewilmington/froilansfarm/Farm.java
similarity index 73%
rename from src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java
rename to src/main/java/com/zipcodewilmington/froilansfarm/Farm.java
index fd743ff..e9f5f34 100644
--- a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Farm.java
@@ -3,6 +3,6 @@
/**
* Created by leon on 2/26/18.
*/
-public class MainApplication {
+public class Farm {
}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Eater.java b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Eater.java
new file mode 100644
index 0000000..d517d1e
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Eater.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+public interface Eater {
+ Boolean eat();
+ Boolean hasBeenFed();
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Edible.java
new file mode 100644
index 0000000..14e829b
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Edible.java
@@ -0,0 +1,18 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import com.zipcodewilmington.froilansfarm.Produce.Produce;
+
+public abstract class Edible implements Produce {
+ Boolean hasBeenFertilized = false;
+
+ public void setHasBeenFertilized(Boolean hasBeenFertilized) {
+ this.hasBeenFertilized = hasBeenFertilized;
+ }
+
+
+ public Boolean getHasBeenFertilized(){
+ return this.hasBeenFertilized;
+ }
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMaker.java
new file mode 100644
index 0000000..bcc20c1
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMaker.java
@@ -0,0 +1,5 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+public interface NoiseMaker {
+ String makeNoise();
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rideable.java b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rideable.java
new file mode 100644
index 0000000..1a0df7b
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rideable.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+public interface Rideable {
+ Boolean mounted(RideableType object);
+ Boolean dismounted(RideableType object);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rider.java
new file mode 100644
index 0000000..d292d87
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/GenericUtils/Rider.java
@@ -0,0 +1,9 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.Person.Person;
+
+public interface Rider {
+ Boolean mount(RiderType object);
+ Boolean dismount(RiderType object);
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Botanist.java
new file mode 100644
index 0000000..405c509
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Botanist.java
@@ -0,0 +1,11 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.CropRow;
+
+public class Botanist {
+
+ public void plant(Crop crop, CropRow cropRow) {
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Farmer.java
new file mode 100644
index 0000000..35ee5b5
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Farmer.java
@@ -0,0 +1,31 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Eater;
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rideable;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.CropRow;
+
+public class Farmer implements Rider {
+
+
+ public boolean plant(Crop crop, CropRow cropRow) {
+ return true;
+ }
+
+ public Boolean mount(Horse object) {
+ return null;
+ }
+
+ public Boolean dismount(Horse object) {
+ return null;
+ }
+
+
+ //Got a warning from the IDE about using raw types and awareness of type erasure when I did
+ // public class Farmer {}.
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Person/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Person.java
new file mode 100644
index 0000000..bdc15ec
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Person.java
@@ -0,0 +1,55 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Eater;
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+
+public class Person implements NoiseMaker, Eater {
+ public Person (String name, int age, boolean hasBeenFed){
+ this. name = name;
+ this.age = age;
+ this.hasBeenFed = hasBeenFed;
+ }
+ String name;
+ int age;
+ boolean hasBeenFed;
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public boolean isHasBeenFed() {
+ return hasBeenFed;
+ }
+
+ public void setHasBeenFed(boolean hasBeenFed) {
+ this.hasBeenFed = hasBeenFed;
+ }
+
+
+ public Boolean eat() {
+return true;
+ }
+
+ public Boolean hasBeenFed() {
+ return true;
+ }
+
+
+ public String makeNoise() {
+ return "grunt!";
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Person/Pilot.java b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Pilot.java
new file mode 100644
index 0000000..baabfeb
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Person/Pilot.java
@@ -0,0 +1,25 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import com.zipcodewilmington.froilansfarm.Vehicle.AirCraft;
+
+public class Pilot extends AirCraft implements Rider {
+
+
+ public Boolean mounted(Rider object) {
+ return null;
+ }
+
+ public Boolean dismounted(Rider object) {
+ return null;
+ }
+
+ public Boolean mount(Horse object) {
+ return null;
+ }
+
+ public Boolean dismount(Horse object) {
+ return null;
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Carrot.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Carrot.java
new file mode 100644
index 0000000..af61fe7
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Carrot.java
@@ -0,0 +1,4 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+public class Carrot {
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Corn.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Corn.java
new file mode 100644
index 0000000..20e138a
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Corn.java
@@ -0,0 +1,4 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+public class Corn {
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Crop.java
new file mode 100644
index 0000000..7b075e1
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Crop.java
@@ -0,0 +1,26 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Edible;
+
+public class Crop {
+ private Boolean hasBeenHarvested;
+
+
+ public Crop(){
+ setHasBeenHarvested(false);
+
+ }
+
+ public void setHasBeenHarvested(Boolean hasBeenHarvested) {
+ this.hasBeenHarvested = hasBeenHarvested;
+ }
+
+ public Boolean getHasBeenHarvested() {
+ return hasBeenHarvested;
+ }
+
+
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/CropRow.java
new file mode 100644
index 0000000..a1806b8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/CropRow.java
@@ -0,0 +1,20 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import java.util.ArrayList;
+
+public class CropRow {
+ArrayList croprow;
+
+ public CropRow() {
+ croprow = new ArrayList(0);
+ }
+
+ public Crop plantCrop(Crop crop){
+ croprow.add(crop);
+ return null;
+ }
+
+ public Integer size(){
+ return croprow.size();
+ }
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Field.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Field.java
new file mode 100644
index 0000000..28d11f8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Field.java
@@ -0,0 +1,23 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+
+public class Field {
+ ArrayList field;
+ Integer numOfRows;
+
+ public Field() {
+ field = new ArrayList(0);
+ }
+
+ CropRow add(CropRow cropRow) {
+ field.add(cropRow);
+ return cropRow;
+ }
+
+ Integer size() {
+ return field.size();
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Onion.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Onion.java
new file mode 100644
index 0000000..ce0a718
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Onion.java
@@ -0,0 +1,4 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+public class Onion {
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Produce.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Produce.java
new file mode 100644
index 0000000..a1d1627
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Produce.java
@@ -0,0 +1,10 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+public interface Produce {
+
+
+ Boolean fertilize();
+
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Radish.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Radish.java
new file mode 100644
index 0000000..bb8631d
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Radish.java
@@ -0,0 +1,5 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+public class Radish {
+}
+git
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Tomato.java
new file mode 100644
index 0000000..8795028
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Produce/Tomato.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Edible;
+
+public class Tomato{
+
+}
+
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoop.java
new file mode 100644
index 0000000..b53b7c8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoop.java
@@ -0,0 +1,10 @@
+package com.zipcodewilmington.froilansfarm.Shelter;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+
+public class ChickenCoop extends Shelter {
+
+
+
+}
+
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Farmhouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Farmhouse.java
new file mode 100644
index 0000000..6d2b47b
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Farmhouse.java
@@ -0,0 +1,8 @@
+package com.zipcodewilmington.froilansfarm.Shelter;
+
+import com.zipcodewilmington.froilansfarm.Person.Person;
+
+public class Farmhouse extends Shelter {
+
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Shelter.java
new file mode 100644
index 0000000..671f94c
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Shelter.java
@@ -0,0 +1,22 @@
+package com.zipcodewilmington.froilansfarm.Shelter;
+
+public class Shelter {
+ Integer amountOfOccupants;
+
+
+ public void add(ShelterType occupants) {
+
+ }
+
+ public void remove(ShelterType occupants) {
+ }
+
+ public void setAmountOfOccupants(Integer amountOfOccupants) {
+ this.amountOfOccupants = amountOfOccupants;
+ }
+
+ public Integer getAmountOfOccupants() {
+ return amountOfOccupants;
+ }
+
+}
diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Stable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Stable.java
new file mode 100644
index 0000000..7ba07ee
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter/Stable.java
@@ -0,0 +1,9 @@
+package com.zipcodewilmington.froilansfarm.Shelter;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+
+public class Stable extends Shelter {
+
+
+
+}
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..3a55432
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/AirCraft.java
@@ -0,0 +1,28 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import com.zipcodewilmington.froilansfarm.Person.Pilot;
+
+public class AirCraft extends Vehicle {
+ private boolean isFlying = false;
+
+ public boolean fly() {
+ this.isFlying = true;
+ return isFlying;
+ };
+
+ public String makeNoise() {
+ return "chopchopchop";
+ }
+
+
+ public Boolean mounted(Rider object) {
+ return null;
+ }
+
+ public Boolean dismounted(Rider object) {
+ return null;
+ }
+}
+
+
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..6688db8
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/CropDuster.java
@@ -0,0 +1,28 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.Person.Pilot;
+
+public class CropDuster extends AirCraft implements FarmVehicle {
+ public boolean isFertilize() {
+ if (fly()) {
+ boolean hasBeenFertilized = true;
+ }
+ return false;
+ }
+
+
+ public Boolean operate() {
+
+ return null;
+ }
+
+ public Boolean mounted(Pilot object) {
+
+ return null;
+ }
+
+ public Boolean dismounted(Pilot object) {
+
+ return null;
+ }
+}
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..19791b7
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/FarmVehicle.java
@@ -0,0 +1,6 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.Person.Person;
+
+public interface FarmVehicle {
+}
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..f30608a
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Tractor.java
@@ -0,0 +1,29 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import com.zipcodewilmington.froilansfarm.Person.Farmer;
+
+public class Tractor extends Vehicle implements FarmVehicle{
+
+ Boolean harvest(){
+
+ return null;
+ }
+ public Boolean operate() {
+
+ return null;
+ }
+
+
+ public String makeNoise() {
+ return "vroooom";
+ }
+
+ public Boolean mounted(Rider object) {
+ return null;
+ }
+
+ public Boolean dismounted(Rider object) {
+ return null;
+ }
+}
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..be9320c
--- /dev/null
+++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle/Vehicle.java
@@ -0,0 +1,20 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.NoiseMaker;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rideable;
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import com.zipcodewilmington.froilansfarm.Person.Farmer;
+import com.zipcodewilmington.froilansfarm.Person.Person;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class Vehicle implements NoiseMaker, Rideable {
+
+
+ Boolean operate() {
+ return null;
+ }
+
+
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Animal/AnimalTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/AnimalTest.java
new file mode 100644
index 0000000..fc8b4d9
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/AnimalTest.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import static org.junit.Assert.*;
+
+public class AnimalTest {
+//No test needed :^)
+}
\ No newline at end of file
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..ce29fb6
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/ChickenTest.java
@@ -0,0 +1,28 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class ChickenTest {
+
+ @Test
+ public void isAnAnimalTest() {
+ //Given
+ Chicken chicken = new Chicken();
+ //Then
+ Assert.assertTrue(chicken instanceof Animal);
+ }
+
+ @Test
+ public void makeNoiseTest(){
+ //Given
+ Chicken chicken = new Chicken();
+ //When
+ String noise = "Peep!";
+ //Then
+ Assert.assertEquals(noise, chicken.makeNoise());
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Animal/EggTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/EggTest.java
new file mode 100644
index 0000000..14400b7
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/EggTest.java
@@ -0,0 +1,15 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class EggTest {
+
+ @Test
+ public void testisFertilized() {
+
+ }
+}
\ No newline at end of file
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..1a48669
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Animal/HorseTest.java
@@ -0,0 +1,48 @@
+package com.zipcodewilmington.froilansfarm.Animal;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rideable;
+import com.zipcodewilmington.froilansfarm.Person.Farmer;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class HorseTest {
+
+
+ @Test
+ public void isAnAnimalTest(){
+ //Arrange
+ Horse horse = new Horse();
+ //Assert
+ Assert.assertTrue(horse instanceof Animal);
+ }
+ @Test
+ public void mountedTest() {
+ //Arrange
+ Horse horse = new Horse();
+ Farmer farmer = new Farmer();
+ //When
+ Assert.assertEquals(horse.mounted(farmer), farmer.mount(horse));
+ }
+
+ @Test
+ public void dismountedTest() {
+ //Arrange
+ Horse horse = new Horse();
+ Farmer farmer = new Farmer();
+ //Assert
+ Assert.assertEquals(horse.dismounted(farmer), farmer.dismount(horse));
+ }
+
+ @Test
+ public void makeNoiseTest(){
+ //Arrange
+ Horse horse = new Horse();
+ //Act
+ String noise = "Neigh!";
+ //Assert
+ Assert.assertEquals(noise, horse.makeNoise());
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MainApplicationTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FarmTest.java
similarity index 71%
rename from src/test/java/com/zipcodewilmington/froilansfarm/MainApplicationTest.java
rename to src/test/java/com/zipcodewilmington/froilansfarm/FarmTest.java
index 1a971b7..bedf8eb 100644
--- a/src/test/java/com/zipcodewilmington/froilansfarm/MainApplicationTest.java
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/FarmTest.java
@@ -3,5 +3,5 @@
/**
* Created by leon on 2/26/18.
*/
-public class MainApplicationTest {
+public class FarmTest {
}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EaterTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EaterTest.java
new file mode 100644
index 0000000..41ec3fc
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EaterTest.java
@@ -0,0 +1,16 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class EaterTest {
+
+ @Test
+ public void eat() {
+ }
+
+ @Test
+ public void hasBeenFed() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EdibleTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EdibleTest.java
new file mode 100644
index 0000000..49aff47
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/EdibleTest.java
@@ -0,0 +1,7 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import static org.junit.Assert.*;
+
+public class EdibleTest {
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMakerTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMakerTest.java
new file mode 100644
index 0000000..57f65b3
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/NoiseMakerTest.java
@@ -0,0 +1,18 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class NoiseMakerTest {
+
+ @Test
+ public void makeNoise() {
+ //Given
+
+ //When
+
+ //Then
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RideableTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RideableTest.java
new file mode 100644
index 0000000..9e70d2d
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RideableTest.java
@@ -0,0 +1,16 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class RideableTest {
+
+ @Test
+ public void mounted() {
+ }
+
+ @Test
+ public void dismounted() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RiderTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RiderTest.java
new file mode 100644
index 0000000..2722bda
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/GenericUtils/RiderTest.java
@@ -0,0 +1,16 @@
+package com.zipcodewilmington.froilansfarm.GenericUtils;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class RiderTest {
+
+ @Test
+ public void mount() {
+ }
+
+ @Test
+ public void dismount() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Person/BotanistTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Person/BotanistTest.java
new file mode 100644
index 0000000..b97e313
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Person/BotanistTest.java
@@ -0,0 +1,23 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Produce.Corn;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.CropRow;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class BotanistTest {
+
+ @Test
+ public void testPlant() {
+ Botanist botanist = new Botanist();
+ Object object = new Object();
+ //Assert.assertTrue(botanist.plant(object));
+
+ }
+}
+
+
+
+
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Person/FarmerTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Person/FarmerTest.java
new file mode 100644
index 0000000..364e599
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Person/FarmerTest.java
@@ -0,0 +1,36 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.Produce.Corn;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.CropRow;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FarmerTest {
+
+ @Test
+ public void plant(Crop crop, CropRow cropRow) {
+ Farmer farmer = new Farmer();
+ Assert.assertTrue(farmer.plant(crop, cropRow));
+ }
+
+
+
+ @Test
+ public void mount() {
+ Horse horse = new Horse();
+ Farmer farmer = new Farmer();
+ //Assert
+ Assert.assertEquals(horse.dismounted(farmer), farmer.dismount(horse));
+ }
+
+ @Test
+ public void dismount() {
+ Horse horse = new Horse();
+ Farmer farmer = new Farmer();
+ //Assert
+ Assert.assertEquals(horse.dismounted(farmer), farmer.dismount(horse));
+ }
+}
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Person/PersonTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Person/PersonTest.java
new file mode 100644
index 0000000..ca185be
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Person/PersonTest.java
@@ -0,0 +1,68 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class PersonTest {
+ @Test
+ public void setNameTest() {
+ String actualName = "Froilan";
+ int actualAge = 35;
+ boolean hasBeenFed = true;
+ Person person = new Person(actualName, actualAge, hasBeenFed);
+ person.setName(actualName);
+ String expectedName = person.getName();
+ Assert.assertEquals(expectedName, actualName);
+
+ }
+
+ @Test
+ public void getNameTest(){
+ String actualName = "Froilan";
+ int actualAge = 35;
+ boolean hasBeenFed = true;
+ Person person = new Person(actualName, actualAge, hasBeenFed);
+ String expectedName = person.getName();
+ Assert.assertEquals(expectedName, actualName);
+ }
+
+ @Test
+ public void setAgeTest() {
+ String actualName = "Froilan";
+ int actualAge = 35;
+ boolean hasBeenFed = true;
+ Person person = new Person(actualName, actualAge, hasBeenFed);
+ person.setAge(actualAge);
+ int expectedAge = person.getAge();
+ Assert.assertEquals(expectedAge, actualAge);
+
+ }
+
+ @Test
+ public void getAgeTest() {
+ String actualName = "Froilan";
+ int actualAge = 35;
+ boolean hasBeenFed = true;
+ Person person = new Person(actualName, actualAge, hasBeenFed);
+ int expectedAge = person.getAge();
+ Assert.assertEquals(expectedAge, actualAge);
+
+ }
+
+ @Test
+ public void setHasBeenFed() {
+ String actualName = "Froilan";
+ int actualAge = 35;
+ boolean hasBeenFed = true;
+ Person person = new Person(actualName, actualAge, hasBeenFed);
+ Assert.assertTrue(hasBeenFed);
+
+ }
+
+
+ public void testEat() {
+ }
+
+ public void testMakeNoise() {
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Person/PilotTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Person/PilotTest.java
new file mode 100644
index 0000000..cef0708
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Person/PilotTest.java
@@ -0,0 +1,35 @@
+package com.zipcodewilmington.froilansfarm.Person;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.Vehicle.CropDuster;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class PilotTest {
+
+ @Test
+ public void testMounted() {
+ CropDuster cropDuster = new CropDuster();
+ Pilot pilot = new Pilot();
+ Assert.assertTrue(cropDuster.mounted(pilot));
+ }
+ @Test
+ public void testDismounted() {
+ CropDuster cropDuster = new CropDuster();
+ Pilot pilot = new Pilot();
+ Assert.assertTrue(cropDuster.dismounted(pilot));
+ }
+ @Test
+ public void testTestMount() {
+ CropDuster cropDuster = new CropDuster();
+ Pilot pilot = new Pilot();
+ //Assert.assertTrue(pilot.mount(cropDuster));
+ }
+ @Test
+ public void testTestDismount() {
+ CropDuster cropDuster = new CropDuster();
+ Pilot pilot = new Pilot();
+ //Assert.assertTrue(pilot.dismount(cropDuster));
+ }
+}
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropRowTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropRowTest.java
new file mode 100644
index 0000000..aad4ba4
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropRowTest.java
@@ -0,0 +1,39 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+
+import static org.junit.Assert.*;
+
+public class CropRowTest {
+
+
+ @Test
+ public void cropRowInstanceTest() {
+ //Given
+ CropRow croprow = new CropRow();
+ Assert.assertEquals(croprow, croprow);
+ }
+
+ @Test
+ public void cropRowZeroSizeTest() {
+ //Given
+ CropRow croprow = new CropRow();
+ int actualSize = croprow.size();
+ Assert.assertTrue(actualSize == 0);
+ }
+
+
+ @Test
+ public void cropRowAddCropTest() {
+ //Given
+ CropRow croprow = new CropRow();
+ Crop mater = new Crop();
+ croprow.plantCrop(mater);
+ Integer actualSize = croprow.size();
+ Assert.assertTrue(1 == actualSize);
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropTest.java
new file mode 100644
index 0000000..3ac39bc
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/CropTest.java
@@ -0,0 +1,25 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import com.zipcodewilmington.froilansfarm.Vehicle.Vehicle;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class CropTest {
+ @Test
+ public void cropInstanceTest() {
+ //Given
+ Crop crop = new Crop();
+ Assert.assertEquals(crop, crop);
+ }
+
+ @Test
+ public void cropHasBeenHarvested() {
+ //Given
+ Crop crop = new Crop();
+ crop.setHasBeenHarvested(true);
+ Assert.assertTrue(crop.getHasBeenHarvested());
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Produce/FieldTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/FieldTest.java
new file mode 100644
index 0000000..dcdd193
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/FieldTest.java
@@ -0,0 +1,35 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FieldTest {
+
+ @Test
+ public void fieldInstanceTest() {
+ //Given
+ Field field = new Field();
+ Assert.assertEquals(field, field);
+ }
+
+ @Test
+ public void fieldSizeTest() {
+ //Given
+ Field field = new Field();
+ int fieldSize = field.size();
+ Assert.assertTrue(fieldSize == 0);
+ }
+
+ @Test
+ public void fieldAddCropRowTest() {
+ //Given
+ Field field = new Field();
+ CropRow cropRow = new CropRow();
+ field.add(cropRow);
+ Integer actualSize = field.size();
+ Assert.assertTrue(1 == actualSize);
+ }
+
+
+}
+
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Produce/ProduceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/ProduceTest.java
new file mode 100644
index 0000000..9c96206
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Produce/ProduceTest.java
@@ -0,0 +1,12 @@
+package com.zipcodewilmington.froilansfarm.Produce;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class ProduceTest {
+
+ @Test
+ public void fertilize() {
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoopTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoopTest.java
new file mode 100644
index 0000000..7f3c648
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Shelter/ChickenCoopTest.java
@@ -0,0 +1,25 @@
+package com.zipcodewilmington.froilansfarm.Shelter;
+
+import com.zipcodewilmington.froilansfarm.Animal.Chicken;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+
+public class ChickenCoopTest {
+
+ @Test
+ public void ChickenCoopTest() {
+ //given
+
+
+ //actual
+ ChickenCoop c = new ChickenCoop();
+
+
+ //expected
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestAirCraft.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestAirCraft.java
new file mode 100644
index 0000000..ef2dda4
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestAirCraft.java
@@ -0,0 +1,50 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.Person.Pilot;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestAirCraft {
+ @Test
+ public void testInstanceOfVehicle(){
+ AirCraft airCraft = new AirCraft();
+ Assert.assertTrue(airCraft instanceof Vehicle);
+ }
+
+
+ @Test
+ public void testFly() {
+ AirCraft airCraft = new AirCraft();
+
+ Assert.assertTrue(airCraft.fly());
+
+ }
+
+ @Test
+ public void testMakeNoise(){
+ AirCraft airCraft = new AirCraft();
+ String expected = "chopchopchop";
+
+ String actual = airCraft.makeNoise();
+
+ Assert.assertEquals(actual, expected);
+ }
+
+ @Test
+ public void testMount(){
+ Pilot pilot = new Pilot();
+ AirCraft airCraft = new AirCraft();
+ Boolean actual = airCraft.mounted(pilot);
+
+ Assert.assertEquals(actual, airCraft.mounted(pilot));
+ }
+
+ @Test
+ public void testDismount(){
+ Pilot pilot = new Pilot();
+ AirCraft airCraft = new AirCraft();
+ Boolean actual = airCraft.dismounted(pilot);
+
+ Assert.assertEquals(actual, airCraft.dismounted(pilot));
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestCropDuster.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestCropDuster.java
new file mode 100644
index 0000000..1871733
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestCropDuster.java
@@ -0,0 +1,77 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.Animal.Horse;
+import com.zipcodewilmington.froilansfarm.Person.Farmer;
+import com.zipcodewilmington.froilansfarm.Person.Pilot;
+import com.zipcodewilmington.froilansfarm.Produce.Crop;
+import com.zipcodewilmington.froilansfarm.Produce.CropRow;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestCropDuster {
+
+
+ @Test
+ public void testOperate(){
+ CropDuster cropDuster = new CropDuster();
+ Boolean expected = cropDuster.operate();
+ Assert.assertEquals(expected, cropDuster.operate());
+ }
+
+ @Test
+ public void testMount(){
+ Pilot pilot = new Pilot();
+ CropDuster cropDuster = new CropDuster();
+ Boolean actual = cropDuster.mounted(pilot);
+
+ Assert.assertEquals(actual, cropDuster.mounted(pilot));
+ }
+
+ @Test
+ public void testDismount(){
+ Pilot pilot = new Pilot();
+ CropDuster cropDuster = new CropDuster();
+ Boolean actual = cropDuster.dismounted(pilot);
+
+ Assert.assertEquals(actual, cropDuster.dismounted(pilot));
+ }
+
+
+ @Test
+ public void testExtendsAirCraft(){
+ CropDuster cropDuster = new CropDuster();
+ Assert.assertTrue(cropDuster instanceof AirCraft);
+ }
+ @Test
+ public void testExtendsVehicle(){
+ CropDuster cropDuster = new CropDuster();
+ Assert.assertTrue(cropDuster instanceof Vehicle);
+ }
+ @Test
+ public void testImplFarmVehicle(){
+ CropDuster cropDuster = new CropDuster();
+ Assert.assertTrue(cropDuster instanceof FarmVehicle);
+ }
+
+ @Test
+ public void testNoise(){
+ CropDuster cropDuster = new CropDuster();
+ String expected = "chopchopchop";
+
+ String actual = cropDuster.makeNoise();
+
+ Assert.assertEquals(actual, expected);
+ }
+ @Test
+ public void testFertilize() {
+ //given
+ CropDuster cropDuster = new CropDuster();
+ //CropRow crop = new CropRow(5, null);
+ boolean expected = cropDuster.isFertilize();
+ //when
+ boolean actual = true;
+ //then
+ Assert.assertEquals(expected, cropDuster.isFertilize());
+
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestTractor.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestTractor.java
new file mode 100644
index 0000000..af0a9f3
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestTractor.java
@@ -0,0 +1,56 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.Person.Farmer;
+import com.zipcodewilmington.froilansfarm.Person.Pilot;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestTractor {
+ @Test
+ public void testInstanceOfVehicle(){
+ Tractor tractor = new Tractor();
+ Assert.assertTrue(tractor instanceof Vehicle);
+ }
+
+ @Test
+ public void testOperate(){
+ Tractor tractor = new Tractor();
+ Boolean expected = tractor.operate();
+ Assert.assertEquals(expected, tractor.operate());
+ }
+
+ @Test
+ public void testNoise(){
+ Tractor tractor = new Tractor();
+ String expected = "vroooom";
+
+ String actual = tractor.makeNoise();
+
+ Assert.assertEquals(actual, expected);
+ }
+
+ @Test
+ public void testMount(){
+ Farmer farmer = new Farmer();
+ Tractor tractor = new Tractor();
+ Boolean actual = tractor.mounted(farmer);
+
+ Assert.assertEquals(actual, tractor.mounted(farmer));
+ }
+
+ @Test
+ public void testDismount(){
+ Farmer farmer = new Farmer();
+ Tractor tractor = new Tractor();
+ Boolean actual = tractor.dismounted(farmer);
+
+ Assert.assertEquals(actual, tractor.dismounted(farmer));
+ }
+ @Test
+ public void testHarvest() {
+ Tractor tractor = new Tractor();
+ Boolean expected = tractor.harvest();
+ Assert.assertEquals(expected, tractor.harvest());
+
+ }
+}
diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestVehicle.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestVehicle.java
new file mode 100644
index 0000000..27d16c9
--- /dev/null
+++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicle/TestVehicle.java
@@ -0,0 +1,31 @@
+package com.zipcodewilmington.froilansfarm.Vehicle;
+
+import com.zipcodewilmington.froilansfarm.GenericUtils.Rider;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestVehicle {
+ @Test
+ public void testOperate(){
+ Vehicle vehicle = new Vehicle() {
+ @Override
+ public Boolean mounted(Rider object) {
+ return null;
+ }
+
+ @Override
+ public Boolean dismounted(Rider object) {
+ return null;
+ }
+
+ @Override
+ public String makeNoise() {
+ return null;
+ }
+ };
+ Boolean expected = vehicle.operate();
+ Assert.assertEquals(expected, vehicle.operate());
+ }
+
+
+}