diff --git a/pom.xml b/pom.xml index 69a3b878..af746b18 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 + + 8 + 8 + + + + + + + junit + junit + 4.12 + test + + \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/Botanist.java new file mode 100644 index 00000000..0620f731 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Botanist.java @@ -0,0 +1,10 @@ +package com.zipcodewilmington.froilansfarm; + +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.CropRow; + +public interface Botanist { + + void plant(Crop crop, CropRow cropRow); + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Eater.java b/src/main/java/com/zipcodewilmington/froilansfarm/Eater.java new file mode 100644 index 00000000..c89071f0 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Eater.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm; + +import com.zipcodewilmington.froilansfarm.Edible; + +public interface Eater < T extends Edible > { + void eat(T edible); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/Edible.java new file mode 100644 index 00000000..ac82f7ad --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Edible.java @@ -0,0 +1,5 @@ +package com.zipcodewilmington.froilansfarm; + +public interface Edible { + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Farm.java b/src/main/java/com/zipcodewilmington/froilansfarm/Farm.java new file mode 100644 index 00000000..7a3ea212 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Farm.java @@ -0,0 +1,44 @@ +package com.zipcodewilmington.froilansfarm; + +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Structure.ChickenCoop; +import com.zipcodewilmington.froilansfarm.Structure.FarmHouse; +import com.zipcodewilmington.froilansfarm.Structure.Stable; + +public class Farm { + private Shelter farmhouse = new FarmHouse(); + private Shelter stable = new Stable(); + private Shelter chickenCoop = new ChickenCoop(); + private Field field = new Field(); + + public Farm(){ + farmhouse.add(new Farmer("Froilan")); + farmhouse.add(new Farmer("Froilanda")); + stable.add(new Horse("Fork")); + stable.add(new Horse("Spoon")); + chickenCoop.add(new Chicken("Chicolate")); + chickenCoop.add(new Chicken("Eggward")); + field.add(new CropRow()); + field.add(new CropRow()); + } + + public Shelter getFarmhouse() { + return farmhouse; + } + + public Shelter getStable() { + return stable; + } + + public Shelter getChickenCoop() { + return chickenCoop; + } + + public Field getField(){ + return field; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Field.java b/src/main/java/com/zipcodewilmington/froilansfarm/Field.java new file mode 100644 index 00000000..d0e912ce --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Field.java @@ -0,0 +1,19 @@ +package com.zipcodewilmington.froilansfarm; +import com.zipcodewilmington.froilansfarm.Food.CropRow; + +import java.util.ArrayList; +import java.util.List; + +public class Field { + + private List myField = new ArrayList<>(); + + + public void add(CropRow row){ + myField.add(row); + } + + public List getMyField() { + return myField; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/Carrot.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Carrot.java new file mode 100644 index 00000000..af57f801 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Carrot.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public class Carrot implements Edible { + + public Carrot() {} +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/CarrotFlower.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CarrotFlower.java new file mode 100644 index 00000000..641ae675 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CarrotFlower.java @@ -0,0 +1,20 @@ +package com.zipcodewilmington.froilansfarm.Food; + +public class CarrotFlower extends Crop{ + + public CarrotFlower(Integer id){ + super(id); + } + + public CarrotFlower(){ + } + + @Override + public Carrot yield () { + if(this.checkFertilized() && !this.checkHarvested()){ // does check harvested have to be false in order to harvest th corn? + this.setHarvested(true); + return new Carrot(); + } + return null; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CornStalk.java new file mode 100644 index 00000000..f950a279 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CornStalk.java @@ -0,0 +1,21 @@ +package com.zipcodewilmington.froilansfarm.Food; + +public class CornStalk extends Crop { + + public CornStalk(Integer id){ + super(id); + } + + public CornStalk(){ + } + + @Override + public EarCorn yield () { + if(this.checkFertilized() && !this.checkHarvested()){ // does check harvested have to be false in order to harvest th corn? + this.setHarvested(true); + return new EarCorn(); + } + return null; + } + +} \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Crop.java new file mode 100644 index 00000000..be77d15e --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Crop.java @@ -0,0 +1,45 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public abstract class Crop implements Produce { + private Boolean fertilized; + private Boolean isHarvested; + private Integer id; + + public Crop(Integer id) { + this.fertilized = false; + this.isHarvested = false; + this.id = id; + } + + public Crop() { + this.fertilized = false; + this.isHarvested = false; + this.id = null; + } + + + public void fertilize(){ + this.fertilized = true; + } + + @Override + abstract public Edible yield(); + + public Boolean checkFertilized() { + return fertilized; + } + + public Boolean checkHarvested() { + return isHarvested; + } + + public void setHarvested(Boolean harvested) { + isHarvested = harvested; + } + + public Integer getId() { + return id; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CropRow.java new file mode 100644 index 00000000..6e23d355 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/CropRow.java @@ -0,0 +1,46 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +import java.util.ArrayList; +import java.util.List; + +public class CropRow { + private List cropList; + + public CropRow() { + cropList = new ArrayList<>(); + } + + public void plantCrop(Crop crop) { + this.cropList.add(crop); + } + + public Integer getNumberOfCrops() { + return cropList.size(); + } + + public Crop getCropById(Integer id) { + Crop result = null; + for (Crop crop : cropList) { + result = id == crop.getId() ? crop : null; + } + return result; + } + + + public void fertilizeRow() { + cropList.forEach(Crop::fertilize); + } + + public ArrayList harvestRow() { + ArrayList harvest = new ArrayList<>(); + cropList.forEach(crop -> { + harvest.add(crop.yield()); + crop.setHarvested(true); + }); + return harvest; + } + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/EarCorn.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/EarCorn.java new file mode 100644 index 00000000..f4d6d050 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/EarCorn.java @@ -0,0 +1,12 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public class EarCorn implements Edible { + + public EarCorn() { + } + + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Egg.java new file mode 100644 index 00000000..bde67efa --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Egg.java @@ -0,0 +1,20 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public class Egg implements Edible { + + private boolean isFertilized; + + public Egg() { + isFertilized = false; + } + + public boolean isItFertilized() { + return isFertilized; + } + + public void setIsFertilized(boolean fertilize) { + this.isFertilized = fertilize; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/Produce.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Produce.java new file mode 100644 index 00000000..c2423d62 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Produce.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public interface Produce { + Boolean isFertilized = null; + Edible yield(); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Tomato.java new file mode 100644 index 00000000..46822591 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/Tomato.java @@ -0,0 +1,10 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Edible; + +public class Tomato implements Edible { + + public Tomato() { + } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Food/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/Food/TomatoPlant.java new file mode 100644 index 00000000..7961dcb4 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Food/TomatoPlant.java @@ -0,0 +1,23 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.Tomato; + +public class TomatoPlant extends Crop { + + public TomatoPlant(Integer id) { + super(id); + } + + public TomatoPlant() { + } + + @Override + public Tomato yield() { + if(this.checkFertilized() && !this.checkHarvested()){ + this.setHarvested(true); + return new Tomato(); + } + return null; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java b/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java index fd743ffc..21cef2cc 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java @@ -1,8 +1,28 @@ package com.zipcodewilmington.froilansfarm; +import com.zipcodewilmington.froilansfarm.Mammal.Animal; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Person; + /** * Created by leon on 2/26/18. */ -public class MainApplication { +public class MainApplication{ + + public static void main(String[] args) { + run(); + } + + public static void run() { + Person person1 = new Person(); + System.out.println(person1.makeNoise()); + Animal chicken1 = new Chicken(); + System.out.println(chicken1.makeNoise()); + Person farmer1 = new Farmer(); + System.out.println(farmer1.makeNoise()); + + } + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Animal.java new file mode 100644 index 00000000..a4b44795 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Animal.java @@ -0,0 +1,38 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Eater; +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.NoiseMaker; + +import java.util.ArrayList; +import java.util.List; + +public abstract class Animal implements Eater, NoiseMaker { + private String name; + public List meals = new ArrayList<>(); + + public Animal() { + name = ""; + } + + public void eat(T edible) { meals.add(edible); } + + public List getMealList() { return meals; } + + public String makeNoise() { + return null; + } + + public Animal(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Chicken.java new file mode 100644 index 00000000..ff0817e2 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Chicken.java @@ -0,0 +1,36 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import com.zipcodewilmington.froilansfarm.Food.Produce; + + +public class Chicken extends Animal implements Edible, Produce { + private Boolean isFertilized; + + public Chicken(String name) { + super(name); + this.meals = meals; + } + + public Chicken() { } + + @Override + public String makeNoise() { + return "Cluck Cluck"; + } + + public void fertilize(){ + this.isFertilized = true; + } + + @Override + public Egg yield() { + if (isFertilized){ + return new Egg(); + } + return null; + } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Farmer.java new file mode 100644 index 00000000..a587e9b8 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Farmer.java @@ -0,0 +1,45 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Botanist; +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.Produce; +import com.zipcodewilmington.froilansfarm.Rideable; +import com.zipcodewilmington.froilansfarm.Rider; + +import java.util.ArrayList; +import java.util.List; + +public class Farmer extends Person implements Rider { + + private Rideable isRiding = null; + + + public Farmer(String name) { + super(name); + } + + public Farmer() { + super("Froilan"); + } + + + @Override + public String makeNoise(){ + return "Howdy"; + } + + @Override + public void mount(Rideable rideable) { + this.isRiding = rideable; + } + + @Override + public void dismount(Rideable rideable) { + this.isRiding = null; + } + + public Rideable getIsRiding() { return isRiding; } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilan.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilan.java new file mode 100644 index 00000000..56b6204b --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilan.java @@ -0,0 +1,18 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Botanist; +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.CropRow; + +public class Froilan extends Farmer implements Botanist { + + String name; + + public Froilan(String name) { super(name); } + + public Froilan() { name = "Froilan"; } + + public void plant(Crop crop, CropRow cropRow) { + cropRow.plantCrop(crop); + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilanda.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilanda.java new file mode 100644 index 00000000..c0be9987 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Froilanda.java @@ -0,0 +1,35 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import com.zipcodewilmington.froilansfarm.Pilot; +import com.zipcodewilmington.froilansfarm.Rideable; +import com.zipcodewilmington.froilansfarm.Rider; + +public class Froilanda extends Farmer implements Rider, Pilot { + + Froilanda froilanda = new Froilanda(); + + + public void eatBreakfast(EarCorn earCorn, Tomato tomato, Egg egg){ + + } + + + + @Override + public void mount(Rideable rideable) { + + } + + @Override + public void dismount(Rideable rideable) { + + } + + @Override + public void fly() { + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Horse.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Horse.java new file mode 100644 index 00000000..c27cfbd0 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Horse.java @@ -0,0 +1,29 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +//Horse can only eat Earcorn right now +// < Parameter type goes in here, "extends" - limits what the parameter type can be > + +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Rideable; +import com.zipcodewilmington.froilansfarm.Rider; + +public class Horse extends Animal implements Rideable { + + private Farmer rider; + + public Horse(String name) { + super(name); + } + + public Horse() {} + + @Override + public String makeNoise(){ + return "Neigh"; + } + + @Override + public void ride(Farmer rider) { + this.rider = rider; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Person.java new file mode 100644 index 00000000..2a3abfa2 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Mammal/Person.java @@ -0,0 +1,42 @@ +package com.zipcodewilmington.froilansfarm.Mammal; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Eater; +import com.zipcodewilmington.froilansfarm.NoiseMaker; + +import java.util.ArrayList; +import java.util.List; + +public class Person implements Eater, NoiseMaker { + + private String name; + public List meals = new ArrayList<>(); + + public Person(String name) { + this.name = name; + } + + public Person() { + name = ""; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public void eat(T edible) { meals.add(edible); } + + public List getMealList() { return meals; } + + @Override + public String makeNoise(){ + return "Hello"; + } + + +} 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 00000000..32c142d1 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/NoiseMaker.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm; + +public interface NoiseMaker { + default String makeNoise() { + return "Ahhhhhhh"; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Pilot.java b/src/main/java/com/zipcodewilmington/froilansfarm/Pilot.java new file mode 100644 index 00000000..4449563c --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Pilot.java @@ -0,0 +1,9 @@ +package com.zipcodewilmington.froilansfarm; + +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Person; + +public interface Pilot { + + public void fly(); +} 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 00000000..351d9af1 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Rideable.java @@ -0,0 +1,6 @@ +package com.zipcodewilmington.froilansfarm; + +public interface Rideable { + + void ride(R rider); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java new file mode 100644 index 00000000..d63747fe --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public interface Rider { + + void mount(R rideable); + void dismount(R rideable); + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java new file mode 100644 index 00000000..addaacc1 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java @@ -0,0 +1,10 @@ +package com.zipcodewilmington.froilansfarm; + +public interface Shelter { + + void add(ShelterableType thingToBeStored); + + ShelterableType getObjectByName(String name); + + void remove(ShelterableType thingToBeStored); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Simulation.java b/src/main/java/com/zipcodewilmington/froilansfarm/Simulation.java new file mode 100644 index 00000000..57d3daf4 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Simulation.java @@ -0,0 +1,73 @@ +package com.zipcodewilmington.froilansfarm; + + +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Structure.ChickenCoop; +import com.zipcodewilmington.froilansfarm.Structure.Stable; +import com.zipcodewilmington.froilansfarm.Vehicles.Aircraft; +import com.zipcodewilmington.froilansfarm.Vehicles.CropDuster; +import com.zipcodewilmington.froilansfarm.Vehicles.FarmVehicle; +import com.zipcodewilmington.froilansfarm.Vehicles.Tractor; + +import java.util.Arrays; + +public class Simulation implements Runnable { + public static void main(String[] args) { + new Simulation().run(); + } + + public void run() { + + + // Person froilan = new Farmer("Froilan"); + // Rider froilanda = new Pilot(); + Farm farm = new Farm(); + Field field = new Field(); + EarCorn earCorn = new EarCorn(); + CropRow cropRow = new CropRow(); + FarmVehicle tractor1 = new Tractor(); + FarmVehicle tractor2 = new Tractor(); + Aircraft cropDuster = new Aircraft(); + + Stable stable1 = new Stable(); + Stable stable2 = new Stable(); + Stable stable3 = new Stable(); + ChickenCoop chickenCoop1 = new ChickenCoop(); + ChickenCoop chickenCoop2 = new ChickenCoop(); + ChickenCoop chickenCoop3 = new ChickenCoop(); + + Arrays + .asList("Felipe", "Oscar", "Marvey", "Lorraine", "Sally", "Lil peep") + .forEach(name ->chickenCoop1.add(new Chicken(name))); + + Arrays + .asList("Eggetha Christie Dr. Bawk Chicklette Mz. Cluck".split("")) + .forEach(name -> chickenCoop2.add(new Chicken(name))); + + Arrays + .asList("Harry Meghen Amantha Christephanie Henrietta".split(" ")) + .forEach(name -> chickenCoop3.add(new Chicken(name))); + + Arrays + .asList("Party Skips Frank Greta".split(" ")) + .forEach(name -> stable1.add(new Horse(name))); + + Arrays + .asList("Yorgle Tom Sarah".split(" ")) + .forEach(name -> stable2.add(new Horse(name))); + + + Arrays + .asList("Harry Milo Hoovey".split(" ")) + .forEach(name -> stable3.add(new Horse(name))); + + } +} + + +// list.string.map diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Structure/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/ChickenCoop.java new file mode 100644 index 00000000..5fdc229f --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/ChickenCoop.java @@ -0,0 +1,42 @@ +package com.zipcodewilmington.froilansfarm.Structure; + +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Shelter; + +import java.util.ArrayList; +import java.util.List; + +public class ChickenCoop implements Shelter { + + List chickenList = new ArrayList(); + Chicken chicken; + + public ChickenCoop(Chicken chicken) { + this.chicken = chicken; + this.chickenList = chickenList; + } + + public ChickenCoop() { + } + + public void add(Chicken chicken) { + chickenList.add(chicken); + } + + public Chicken getObjectByName(String name) { + for(Chicken element : chickenList) { + if(element.equals(name)) { + chicken = element; + } + } + return chicken; + } + + public void remove(Chicken chicken) { + chickenList.remove(chicken); + } + + public List getChickenList() { + return chickenList; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Structure/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/FarmHouse.java new file mode 100644 index 00000000..65a0b891 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/FarmHouse.java @@ -0,0 +1,41 @@ +package com.zipcodewilmington.froilansfarm.Structure; + +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Shelter; + +import java.util.ArrayList; +import java.util.List; + +public class FarmHouse implements Shelter { + + List personList = new ArrayList(); + Person person; + + public FarmHouse(Person person) { + this.person = person; + this.personList = personList; + } + + public FarmHouse() {} + + public void add(Person person) { + personList.add(person); + } + + public Person getObjectByName(String name) { + for(Person element : personList) { + if(element.equals(name)) { + person = element; + } + } + return person; + } + + public void remove(Person person) { + personList.remove(person); + } + + public List getPersonList() { + return personList; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Structure/Stable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/Stable.java new file mode 100644 index 00000000..22d058df --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Structure/Stable.java @@ -0,0 +1,41 @@ +package com.zipcodewilmington.froilansfarm.Structure; + +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Shelter; + +import java.util.ArrayList; +import java.util.List; + +public class Stable implements Shelter { + + List horseList = new ArrayList(); + Horse horse; + + public Stable(Horse horse) { + this.horse = horse; + this.horseList = horseList; + } + + public Stable() {} + + public void add(Horse horse) { + horseList.add(horse); + } + + public Horse getObjectByName(String name) { + for(Horse element : horseList) { + if(element.equals(name)) { + horse = element; + } + } + return horse; + } + + public void remove(Horse horse) { + horseList.remove(horse); + } + + public List getHorseList() { + return horseList; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Aircraft.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Aircraft.java new file mode 100644 index 00000000..8bf08829 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Aircraft.java @@ -0,0 +1,24 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Rider; + +public class Aircraft implements Vehicle{ + + + public String makeNoise() { + return "Bzzzzeewwwwwwwwwww Rat-tat-tat-tat-tat"; + } + + public String shoot(){ + return "BULLETS"; + } + + @Override + public void ride(Rider rider) { + rider = rider; + } + + public Rider getRider() { + return rider; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDuster.java new file mode 100644 index 00000000..7c044251 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDuster.java @@ -0,0 +1,28 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Farm; +import com.zipcodewilmington.froilansfarm.Field; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Pilot; +import com.zipcodewilmington.froilansfarm.Rider; + +public class CropDuster extends Aircraft implements FarmVehicle { + private Pilot pilot; + + + public void fertilizeCrop(CropRow row){ + row.fertilizeRow(); + } + + @Override + public void ride(Rider rider) { + this.pilot = pilot; + } + + @Override + public void operate(Farm farm) { + for(CropRow element : farm.getField().getMyField()){ + element.fertilizeRow(); + } + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/FarmVehicle.java new file mode 100644 index 00000000..95694db0 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/FarmVehicle.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Farm; + +public interface FarmVehicle extends Vehicle{ + void operate(Farm farm); // +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Tractor.java new file mode 100644 index 00000000..1f909684 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Tractor.java @@ -0,0 +1,44 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Farm; +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Rider; + +import java.util.ArrayList; +import java.util.List; + +public class Tractor implements FarmVehicle{ + private Rider rider; + private List aList = new ArrayList<>(); + + public void harvest(Edible crop){ + aList.add(crop); + } + + + public String makeNoise() { + return "Chuggumgumgumgumgum"; + } + + + + public void ride(Rider rider) { + this.rider = rider; + } + + public void operate(Farm farm) { + List rows = farm.getField().getMyField(); + for(int i = 0; i < rows.size(); i++){ + ArrayList listOfCrops = rows.get(i).harvestRow(); + for(int j = 0; j < listOfCrops.size(); j++){ + harvest(listOfCrops.get(j)); + } + } + } + + public List getaList() { + return aList; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Vehicle.java new file mode 100644 index 00000000..931ff10c --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicles/Vehicle.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.NoiseMaker; +import com.zipcodewilmington.froilansfarm.Rideable; + +public interface Vehicle extends NoiseMaker, Rideable { +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Food/CropRowTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Food/CropRowTest.java new file mode 100644 index 00000000..f5811a03 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/Food/CropRowTest.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.Food; + +import junit.framework.TestCase; + +public class CropRowTest extends TestCase { + +} \ No newline at end of file diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotFlowerTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotFlowerTest.java new file mode 100644 index 00000000..7e6d57f3 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotFlowerTest.java @@ -0,0 +1,72 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.*; +import org.junit.Assert; +import org.junit.Test; + +public class CarrotFlowerTest { + + @Test + public void setHarvestedTest() { + CarrotFlower carrotFlower = new CarrotFlower(2); + carrotFlower.setHarvested(true); + boolean actual = carrotFlower.checkHarvested(); + Assert.assertEquals(true, actual); + + } + + @Test + public void checkHarvestedTest() { + CarrotFlower carrotFlower = new CarrotFlower(2); + boolean actual = carrotFlower.checkHarvested(); + Assert.assertEquals(false, actual); + + } + + @Test + public void setFertilizedTest(){ + CarrotFlower carrotFlower = new CarrotFlower(2); + carrotFlower.fertilize(); + Boolean stalkIsFertilized = carrotFlower.checkFertilized(); + Assert.assertTrue(stalkIsFertilized); + } + + @Test + public void checkFertilizedTest() { + CarrotFlower carrotFlower = new CarrotFlower(2); + Boolean stalkIsFertilized = carrotFlower.checkFertilized(); + Assert.assertFalse(stalkIsFertilized); + + } + + + @Test + public void testCornStalkInheritance() { + CarrotFlower carrotFlower = new CarrotFlower(2); + Assert.assertTrue(carrotFlower instanceof Crop); + } + + @Test + public void yieldTest(){ + CarrotFlower carrotFlower = new CarrotFlower(); + carrotFlower.fertilize(); + //when + Edible harvest = carrotFlower.yield(); + Boolean harvested = carrotFlower.checkHarvested(); + //then + Assert.assertTrue(harvest instanceof Carrot); + Assert.assertTrue(harvested); + } + + @Test + public void yieldNullTest(){ + CarrotFlower carrotFlower = new CarrotFlower(); + //when + Edible harvest = carrotFlower.yield(); + Boolean harvested = carrotFlower.checkHarvested(); + //then + Assert.assertNull(harvest); + Assert.assertFalse(harvested); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotTest.java new file mode 100644 index 00000000..9ae858bf --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CarrotTest.java @@ -0,0 +1,22 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Carrot; +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import org.junit.Assert; +import org.junit.Test; + +public class CarrotTest { + + @Test + public void carrotTest() { + Carrot carrot = new Carrot(); + + } + + @Test + public void testEarCornImplementation() { + Carrot carrot = new Carrot(); + Assert.assertTrue(carrot instanceof Edible); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CornStalkTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CornStalkTest.java new file mode 100644 index 00000000..b5e59541 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CornStalkTest.java @@ -0,0 +1,76 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.CornStalk; +import com.zipcodewilmington.froilansfarm.Food.Crop; + +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import org.junit.Assert; +import org.junit.Test; + +public class CornStalkTest { + + @Test + public void setHarvestedTest() { + CornStalk cornStalk = new CornStalk(2); + cornStalk.setHarvested(true); + boolean actual = cornStalk.checkHarvested(); + Assert.assertEquals(true, actual); + + } + + @Test + public void checkHarvestedTest() { + CornStalk cornStalk = new CornStalk(2); + boolean actual = cornStalk.checkHarvested(); + Assert.assertEquals(false, actual); + + } + + @Test + public void setFertilizedTest(){ + CornStalk cornStalk = new CornStalk(2); + cornStalk.fertilize(); + Boolean stalkIsFertilized = cornStalk.checkFertilized(); + Assert.assertTrue(stalkIsFertilized); + } + + @Test + public void checkFertilizedTest() { + CornStalk cornStalk = new CornStalk(2); + Boolean stalkIsFertilized = cornStalk.checkFertilized(); + Assert.assertFalse(stalkIsFertilized); + + } + + + @Test + public void testCornStalkInheritance() { + CornStalk cornStalk = new CornStalk(2); + Assert.assertTrue(cornStalk instanceof Crop); + } + + @Test + public void yieldTest(){ + CornStalk cornStalk = new CornStalk(); + cornStalk.fertilize(); + //when + Edible harvest = cornStalk.yield(); + Boolean harvested = cornStalk.checkHarvested(); + //then + Assert.assertTrue(harvest instanceof EarCorn); + Assert.assertTrue(harvested); + } + + @Test + public void yieldNullTest(){ + CornStalk cornStalk = new CornStalk(); + //when + Edible harvest = cornStalk.yield(); + Boolean harvested = cornStalk.checkHarvested(); + //then + Assert.assertNull(harvest); + Assert.assertFalse(harvested); + } + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CropRowTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CropRowTest.java new file mode 100644 index 00000000..0eb42af6 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/CropRowTest.java @@ -0,0 +1,93 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.*; +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +public class CropRowTest { + + @Test + public void cropRowConstructorTest(){ + //given + CropRow myCropRow = new CropRow(); + Integer exp = 0; + Integer act = myCropRow.getNumberOfCrops(); + //then + Assert.assertEquals(exp,act); + } + + @Test + public void plantCropTest() { + //given + CropRow myCropRow = new CropRow(); + Crop tomatoPlant = new TomatoPlant(); + //when + myCropRow.plantCrop(tomatoPlant); + Integer exp = 1; + Integer act = myCropRow.getNumberOfCrops(); + //then + Assert.assertEquals(exp,act); + } + + @Test + public void getCropByIdTest(){ + //given + CropRow myCropRow = new CropRow(); + Crop tomato1 = new TomatoPlant(1); + Crop corn = new CornStalk(2); + Crop tomato2 = new TomatoPlant(3); + //when + myCropRow.plantCrop(corn); + myCropRow.plantCrop(tomato1); + myCropRow.plantCrop(tomato2); + Crop retrieved = myCropRow.getCropById(3); + //then + Assert.assertEquals(tomato2,retrieved); + } + + @Test + public void fertilizeRowTest(){ + //given + CropRow myCropRow = new CropRow(); + Crop tomato1 = new TomatoPlant(1); + Crop corn = new CornStalk(2); + Crop tomato2 = new TomatoPlant(3); + myCropRow.plantCrop(corn); + myCropRow.plantCrop(tomato1); + myCropRow.plantCrop(tomato2); + //when + myCropRow.fertilizeRow(); + Boolean cornIsFertilized = corn.checkFertilized(); + Boolean tomato1IsFertilized = tomato1.checkFertilized(); + //then + Assert.assertTrue(cornIsFertilized); + Assert.assertTrue(tomato1IsFertilized); + + } + + @Test + public void harvestRowTest(){ + //given + CropRow myCropRow = new CropRow(); + Crop tomato1 = new TomatoPlant(1); + Crop corn = new CornStalk(2); + Crop tomato2 = new TomatoPlant(3); + myCropRow.plantCrop(corn); + myCropRow.plantCrop(tomato1); + myCropRow.plantCrop(tomato2); + myCropRow.fertilizeRow(); + //when + ArrayList basket = myCropRow.harvestRow(); + for(Edible item: basket){ + System.out.println(item.getClass().getSimpleName()); + } + //then + + } + + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EarCornTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EarCornTest.java new file mode 100644 index 00000000..d1bf8261 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EarCornTest.java @@ -0,0 +1,22 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import org.junit.Assert; +import org.junit.Test; + +public class EarCornTest { + + @Test + public void eggTest() { + EarCorn earCorn = new EarCorn(); + + } + + @Test + public void testEarCornImplementation() { + EarCorn earCorn = new EarCorn(); + Assert.assertTrue(earCorn instanceof Edible); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EggTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EggTest.java new file mode 100644 index 00000000..76fc8f92 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/EggTest.java @@ -0,0 +1,38 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import org.junit.Assert; +import org.junit.Test; + +public class EggTest { + + @Test + public void eggTest() { + Edible egg = new Egg(); + Assert.assertTrue(egg instanceof Egg); + } + + @Test + public void testEggImplementation() { + Egg egg = new Egg(); + Assert.assertTrue(egg instanceof Edible); + } + + @Test + public void isItFertilizedTest(){ + Egg egg = new Egg(); + Boolean fertilized = egg.isItFertilized(); + Assert.assertFalse(fertilized); + } + + @Test + public void setIsFertilizedTest(){ + Egg egg = new Egg(); + egg.setIsFertilized(true); + Boolean fertilized = egg.isItFertilized(); + Assert.assertTrue(fertilized); + } + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/ProduceTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/ProduceTest.java new file mode 100644 index 00000000..f31ecf9f --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/ProduceTest.java @@ -0,0 +1,4 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +public class ProduceTest { +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoPlantTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoPlantTest.java new file mode 100644 index 00000000..6169dcba --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoPlantTest.java @@ -0,0 +1,25 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import com.zipcodewilmington.froilansfarm.Food.TomatoPlant; +import org.junit.Assert; +import org.junit.Test; + +public class TomatoPlantTest { + + @Test + public void yieldTest(){ + TomatoPlant tomatoPlant = new TomatoPlant(); + tomatoPlant.fertilize(); + Edible food = tomatoPlant.yield(); + Assert.assertTrue(food instanceof Tomato); + } + + @Test + public void yieldNullTest(){ + TomatoPlant tomatoPlant = new TomatoPlant(); + Edible food = tomatoPlant.yield(); + Assert.assertNull(food); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoTest.java new file mode 100644 index 00000000..ee3a90d9 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/FoodTests/TomatoTest.java @@ -0,0 +1,22 @@ +package com.zipcodewilmington.froilansfarm.FoodTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import org.junit.Assert; +import org.junit.Test; + +public class TomatoTest { + + @Test + public void tomatoTest() { + Tomato tomato = new Tomato(); + } + + @Test + public void testTomatoImplementation() { + Tomato tomato = new Tomato(); + Assert.assertTrue(tomato instanceof Edible); + } + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/ChickenTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/ChickenTest.java new file mode 100644 index 00000000..7357610c --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/ChickenTest.java @@ -0,0 +1,88 @@ +package com.zipcodewilmington.froilansfarm.MammalTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Food.Egg; +import com.zipcodewilmington.froilansfarm.Food.Produce; +import com.zipcodewilmington.froilansfarm.Mammal.Animal; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import org.junit.Assert; +import org.junit.Test; + +public class ChickenTest { + + @Test + public void testConstructor() { + //given + String expected = "Franklin"; + //when + Chicken chicken = new Chicken(expected); + String actual = chicken.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetName() { + //given + String expected = "Theodore"; + //when + Chicken chicken = new Chicken(expected); + String actual = chicken.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMakeNoise() { + //given + String expected = "Cluck Cluck"; + //when + Chicken chicken = new Chicken(); + String actual = chicken.makeNoise(); + //then + Assert.assertEquals(expected, actual); + } + + + @Test + public void testYield() { + //given + Chicken chicken = new Chicken(); + //when + chicken.fertilize(); + Edible egg = chicken.yield(); + //then + Assert.assertTrue(egg instanceof Egg); + } + + @Test + public void testEat() { + //given + Chicken chicken = new Chicken(); + //when + EarCorn earCorn = new EarCorn(); + chicken.eat(earCorn); + chicken.getMealList(); + //then + Assert.assertTrue(chicken.meals.contains(earCorn)); + } + + @Test + public void testInheritance() { + Chicken chicken = new Chicken("Clucks"); + Assert.assertTrue(chicken instanceof Animal); + } + + @Test + public void testImplementation() { + Chicken chicken = new Chicken("Fluffers"); + Assert.assertTrue(chicken instanceof Edible); + } + + @Test + public void testImplementationProduce() { + Chicken chicken = new Chicken(); + Assert.assertTrue(chicken instanceof Produce); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FarmerTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FarmerTest.java new file mode 100644 index 00000000..36570181 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FarmerTest.java @@ -0,0 +1,99 @@ +package com.zipcodewilmington.froilansfarm.MammalTests; + +import com.zipcodewilmington.froilansfarm.Botanist; +import com.zipcodewilmington.froilansfarm.Food.Crop; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import com.zipcodewilmington.froilansfarm.Food.TomatoPlant; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Rideable; +import com.zipcodewilmington.froilansfarm.Rider; +import org.junit.Assert; +import org.junit.Test; + +public class FarmerTest { + + @Test + public void testconstructor() { + //given + String expected = "Froilanda"; + //when + Farmer farmer = new Farmer(expected); + String actual = farmer.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetName() { + //given + String expected = "Froiland"; + Person person = new Farmer(expected); + //when + String actual = person.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMakeNoise() { + //given + String expected = "Howdy"; + //when + Farmer farmer = new Farmer(); + String actual = farmer.makeNoise(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMount() { + //given + Horse horse = new Horse(); + Rideable expected = horse; + //when + Farmer farmer = new Farmer(); + farmer.mount(horse); + Rideable actual = farmer.getIsRiding(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testDismount() { + //given + Horse horse = new Horse(); + //when + Farmer farmer = new Farmer(); + farmer.mount(horse); + farmer.dismount(horse); + //then + Assert.assertNull(farmer.getIsRiding()); + } + + @Test + public void testEat() { + //given + Farmer farmer = new Farmer(); + //when + Tomato tomato = new Tomato(); + farmer.eat(tomato); + farmer.getMealList(); + //then + Assert.assertTrue(farmer.meals.contains(tomato)); + } + + @Test + public void testInheritance() { + Farmer farmer = new Farmer("Annette"); + Assert.assertTrue(farmer instanceof Person); + } + + @Test + public void testImplementationRider() { + Farmer farmer = new Farmer("Joe"); + Assert.assertTrue(farmer instanceof Rider); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FroilanTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FroilanTest.java new file mode 100644 index 00000000..35acdfb9 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/FroilanTest.java @@ -0,0 +1,112 @@ +package com.zipcodewilmington.froilansfarm.MammalTests; + +import com.zipcodewilmington.froilansfarm.Botanist; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import com.zipcodewilmington.froilansfarm.Food.TomatoPlant; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Froilan; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Rideable; +import com.zipcodewilmington.froilansfarm.Rider; +import org.junit.Assert; +import org.junit.Test; + +public class FroilanTest { + + @Test + public void testconstructor() { + //given + String expected = "Froilan"; + //when + Froilan froilan = new Froilan(expected); + String actual = froilan.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetName() { + //given + String expected = "Froiland"; + Froilan froilan = new Froilan(expected); + //when + String actual = froilan.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testPlant() { + //given + TomatoPlant tomatoPlant = new TomatoPlant(0); + CropRow cropRow = new CropRow(); + Froilan farmer = new Froilan(); + //when + farmer.plant(tomatoPlant, cropRow); + //then + Assert.assertTrue(tomatoPlant.equals(cropRow.getCropById(0))); + } + + @Test + public void testMakeNoise() { + //given + String expected = "Howdy"; + //when + Froilan froilan = new Froilan(); + String actual = froilan.makeNoise(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMount() { + //given + Horse horse = new Horse(); + Rideable expected = horse; + //when + Froilan froilan = new Froilan(); + froilan.mount(horse); + Rideable actual = froilan.getIsRiding(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testDismount() { + //given + Horse horse = new Horse(); + //when + Froilan froilan = new Froilan(); + froilan.mount(horse); + froilan.dismount(horse); + //then + Assert.assertNull(froilan.getIsRiding()); + } + + @Test + public void testEat() { + //given + Froilan froilan = new Froilan(); + //when + Tomato tomato = new Tomato(); + froilan.eat(tomato); + froilan.getMealList(); + //then + Assert.assertTrue(froilan.meals.contains(tomato)); + } + + @Test + public void testInheritance() { + Froilan froilan = new Froilan(); + Assert.assertTrue(froilan instanceof Farmer); + } + + @Test + public void testImplementationBotanist() { + Froilan froilan = new Froilan("Joe"); + Assert.assertTrue(froilan instanceof Botanist); + } + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/HorseTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/HorseTest.java new file mode 100644 index 00000000..e5590a8d --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/HorseTest.java @@ -0,0 +1,83 @@ +package com.zipcodewilmington.froilansfarm.MammalTests; + +import com.zipcodewilmington.froilansfarm.Edible; +import com.zipcodewilmington.froilansfarm.Food.EarCorn; +import com.zipcodewilmington.froilansfarm.Mammal.Animal; +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Rideable; +import org.junit.Assert; +import org.junit.Test; + +public class HorseTest { + + @Test + public void testConstructor() { + //given + String expected = "Cyan"; + //when + Horse horse = new Horse(expected); + String actual = horse.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetName() { + //given + String expected = "Spring"; + //when + Horse horse = new Horse(expected); + String actual = horse.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMakeNoise() { + //given + String expected = "Neigh"; + //when + Horse horse = new Horse(); + String actual = horse.makeNoise(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testRide() { + //given + Horse horse = new Horse(); + Farmer farmer = new Farmer(); + //when + horse.ride(farmer); + //then + + + } + + @Test + public void testEat() { + //given + Horse horse = new Horse(); + //when + EarCorn earCorn = new EarCorn(); + horse.eat(earCorn); + horse.getMealList(); + //then + Assert.assertTrue(horse.meals.contains(earCorn)); + } + + @Test + public void testInheritance() { + Horse horse = new Horse("Harvey"); + Assert.assertTrue(horse instanceof Animal); + } + + @Test + public void testImplementation() { + Horse horse = new Horse(); + Assert.assertTrue(horse instanceof Rideable); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/PersonTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/PersonTest.java new file mode 100644 index 00000000..f00af7a0 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/MammalTests/PersonTest.java @@ -0,0 +1,69 @@ +package com.zipcodewilmington.froilansfarm.MammalTests; + +import com.zipcodewilmington.froilansfarm.Eater; +import com.zipcodewilmington.froilansfarm.Food.Tomato; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.NoiseMaker; +import org.junit.Assert; +import org.junit.Test; + +public class PersonTest { + + @Test + public void testConstructor() { + //given + String expected = "Sophia"; + Person person = new Person(expected); + //when + String actual = person.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testSetName() { + //given + String expected = "Tyler"; + //when + Person person = new Person(expected); + String actual = person.getName(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testMakeNoise() { + //given + String expected = "Hello"; + Person person = new Person(); + //when + String actual = person.makeNoise(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testEat() { + //given + Person person = new Person(); + //when + Tomato tomato = new Tomato(); + person.eat(tomato); + person.getMealList(); + //then + Assert.assertTrue(person.meals.contains(tomato)); + } + + @Test + public void testImplementationEater() { + Person person = new Person(); + Assert.assertTrue(person instanceof Eater); + } + + @Test + public void testImplementationNoiseMaker() { + Person person = new Person(); + Assert.assertTrue(person instanceof NoiseMaker); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/ChickenCoopTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/ChickenCoopTest.java new file mode 100644 index 00000000..80383f25 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/ChickenCoopTest.java @@ -0,0 +1,66 @@ +package com.zipcodewilmington.froilansfarm.StructureTests; + +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Shelter; +import com.zipcodewilmington.froilansfarm.Structure.ChickenCoop; +import org.junit.Assert; +import org.junit.Test; + +public class ChickenCoopTest { + + @Test + public void testConstructor() { + //given + String expected = "Frank"; + Chicken chicken = new Chicken(expected); + //when + ChickenCoop chickenCoop = new ChickenCoop(chicken); + chickenCoop.add(chicken); + //then + Assert.assertTrue(chickenCoop.getChickenList().contains(chicken)); + } + + @Test + public void testGetObjectByName() { + //given + String name = "Frank"; + Chicken expected = new Chicken(name); + //when + ChickenCoop chickenCoop = new ChickenCoop(expected); + chickenCoop.add(expected); + Chicken actual = chickenCoop.getObjectByName(name); + //then + Assert.assertTrue(expected.equals(actual)); + } + + @Test + public void testAdd() { + //given + Chicken chicken = new Chicken("Harry"); + //when + ChickenCoop chickenCoop = new ChickenCoop(); + chickenCoop.add(chicken); + //then + Assert.assertTrue(chickenCoop.getChickenList().contains(chicken)); + } + + @Test + public void testRemove() { + //given + Chicken chicken1 = new Chicken("Harry"); + Chicken chicken2 = new Chicken("Megan"); + //when + ChickenCoop chickenCoop = new ChickenCoop(); + chickenCoop.add(chicken1); + chickenCoop.add(chicken2); + chickenCoop.remove(chicken1); + //then + Assert.assertFalse(chickenCoop.getChickenList().contains(chicken1)); + } + + @Test + public void testImplementation() { + ChickenCoop chickenCoop = new ChickenCoop(); + Assert.assertTrue(chickenCoop instanceof Shelter); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/FarmHouseTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/FarmHouseTest.java new file mode 100644 index 00000000..3adb2ccc --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/FarmHouseTest.java @@ -0,0 +1,82 @@ +package com.zipcodewilmington.froilansfarm.StructureTests; + +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Person; +import com.zipcodewilmington.froilansfarm.Shelter; +import com.zipcodewilmington.froilansfarm.Structure.ChickenCoop; +import com.zipcodewilmington.froilansfarm.Structure.FarmHouse; +import org.junit.Assert; +import org.junit.Test; + +public class FarmHouseTest { + + @Test + public void testConstructor() { + //given + String expected = "Froiland"; + Farmer farmer = new Farmer(expected); + //when + FarmHouse farmhouse = new FarmHouse(farmer); + farmhouse.add(farmer); + //then + Assert.assertTrue(farmhouse.getPersonList().contains(farmer)); + } + + @Test + public void testGetObjectByName() { + //given + String name = "Frank"; + Person expected = new Farmer(name); + //when + FarmHouse farmhouse = new FarmHouse(expected); + farmhouse.add(expected); + Person actual = farmhouse.getObjectByName(name); + //then + Assert.assertTrue(expected.equals(actual)); + } + + + @Test + public void testAdd() { + //given + Person person = new Farmer("Froilan"); + //when + FarmHouse farmhouse = new FarmHouse(); + farmhouse.add(person); + //then + Assert.assertTrue(farmhouse.getPersonList().contains(person)); + } + + @Test + public void testRemove() { + //given + Person person1 = new Farmer("Froilan"); + Person person2 = new Farmer("Froilanda"); + //when + FarmHouse farmhouse = new FarmHouse(); + farmhouse.add(person1); + farmhouse.add(person2); + farmhouse.remove(person1); + //then + Assert.assertFalse(farmhouse.getPersonList().contains(person1)); + } + + @Test + public void testImplementation() { + FarmHouse farmhouse = new FarmHouse(); + Assert.assertTrue(farmhouse instanceof Shelter); + } + +// @Test +// public void testGetName() { +// //given +// String expected = "Froilan"; +// Person person = new Farmer(expected); +// //when +// FarmHouse farmhouse = new FarmHouse(); +// farmhouse.getObjectByName(expected); +// //then +// System.out.println(farmhouse.getObjectByName(expected)); +// } + } diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/StableTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/StableTest.java new file mode 100644 index 00000000..4cde60c5 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/StructureTests/StableTest.java @@ -0,0 +1,68 @@ +package com.zipcodewilmington.froilansfarm.StructureTests; + +import com.zipcodewilmington.froilansfarm.Mammal.Chicken; +import com.zipcodewilmington.froilansfarm.Mammal.Horse; +import com.zipcodewilmington.froilansfarm.Shelter; +import com.zipcodewilmington.froilansfarm.Structure.ChickenCoop; +import com.zipcodewilmington.froilansfarm.Structure.Stable; +import org.junit.Assert; +import org.junit.Test; + +public class StableTest { + + @Test + public void testConstructor() { + //given + String expected = "Judy"; + Horse horse = new Horse(expected); + //when + Stable stable = new Stable(horse); + stable.add(horse); + //then + Assert.assertTrue(stable.getHorseList().contains(horse)); + } + + @Test + public void testGetObjectByName() { + //given + String name = "Frank"; + Horse expected = new Horse(name); + //when + Stable stable = new Stable(expected); + stable.add(expected); + Horse actual = stable.getObjectByName(name); + //then + Assert.assertTrue(expected.equals(actual)); + } + + @Test + public void testAdd() { + //given + Horse horse = new Horse("Annabell"); + //when + Stable stable = new Stable(); + stable.add(horse); + //then + Assert.assertTrue(stable.getHorseList().contains(horse)); + } + + @Test + public void testRemove() { + //given + Horse horse1 = new Horse("Annabell"); + Horse horse2 = new Horse("Ruth"); + //when + Stable stable = new Stable(); + stable.add(horse1); + stable.add(horse2); + stable.remove(horse1); + //then + Assert.assertFalse(stable.getHorseList().contains(horse1)); + } + + @Test + public void testImplementation() { + Stable stable = new Stable(); + Assert.assertTrue(stable instanceof Shelter); + } +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/AircraftTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/AircraftTest.java new file mode 100644 index 00000000..dc6daa4b --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/AircraftTest.java @@ -0,0 +1,35 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Mammal.Farmer; +import com.zipcodewilmington.froilansfarm.Mammal.Froilan; +import com.zipcodewilmington.froilansfarm.Mammal.Froilanda; +import com.zipcodewilmington.froilansfarm.Pilot; +import com.zipcodewilmington.froilansfarm.Rider; +import org.junit.Assert; +import org.junit.Test; + +import java.awt.*; + +public class AircraftTest { + + @Test + public void constructor(){ + Vehicle aircraft = new Aircraft(); + + Boolean actual = aircraft instanceof Vehicle; + + Assert.assertTrue(actual); + } + + @Test + public void aircraftTest(){ + Vehicle aircraft = new Aircraft(); + + String actual = aircraft.makeNoise(); + String expected = "Bzzzzeewwwwwwwwwww Rat-tat-tat-tat-tat"; + + Assert.assertEquals(expected, actual); + } + + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDusterTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDusterTest.java new file mode 100644 index 00000000..a482cf96 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/CropDusterTest.java @@ -0,0 +1,64 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Farm; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.TomatoPlant; +import org.junit.Assert; +import org.junit.Test; + +public class CropDusterTest { + + @Test + public void constructorTest1(){ + CropDuster duster = new CropDuster(); + + Boolean actual = duster instanceof Vehicle; + + Assert.assertTrue(actual); + } + + @Test + public void constructorTest2(){ + CropDuster duster = new CropDuster(); + + Boolean actual = duster instanceof FarmVehicle; + + Assert.assertTrue(actual); + } + + @Test + public void constructorTest3(){ + CropDuster duster = new CropDuster(); + + Boolean actual = duster instanceof Aircraft; + + Assert.assertTrue(actual); + } + + @Test + public void fertilizeTest(){ + CropDuster duster = new CropDuster(); + Farm farm = new Farm(); + TomatoPlant plant = new TomatoPlant(); + CropRow row = new CropRow(); + row.plantCrop(plant); + farm.getField().add(row); + duster.operate(farm); + + Boolean actual = plant.checkFertilized(); + + Assert.assertTrue(actual); + } + + @Test + public void shootTest(){ + Aircraft duster = new CropDuster(); + + String actual = duster.shoot(); + String expected = "BULLETS"; + + Assert.assertEquals(expected, actual); + } + + +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/TractorTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/TractorTest.java new file mode 100644 index 00000000..76630b4c --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/Vehicles/TractorTest.java @@ -0,0 +1,55 @@ +package com.zipcodewilmington.froilansfarm.Vehicles; + +import com.zipcodewilmington.froilansfarm.Farm; +import com.zipcodewilmington.froilansfarm.Food.CropRow; +import com.zipcodewilmington.froilansfarm.Food.TomatoPlant; +import org.junit.Assert; +import org.junit.Test; + +public class TractorTest { + + @Test + public void constructorTest1(){ + Vehicle tractor = new Tractor(); + + Boolean instance = tractor instanceof Vehicle; + + Assert.assertTrue(instance); + } + + @Test + public void constructorTest2(){ + Vehicle tractor = new Tractor(); + + Boolean instance = tractor instanceof FarmVehicle; + + Assert.assertTrue(instance); + } + + @Test + public void constructorMakeNoise(){ + Vehicle tractor = new Tractor(); + + String actual = tractor.makeNoise(); + String expected = "Chuggumgumgumgumgum"; + + Assert.assertEquals(expected, actual); + } + + @Test + public void tractorHarvestTest(){ + Tractor tractor = new Tractor(); + + Farm farm = new Farm(); + CropRow row = new CropRow(); + row.plantCrop(new TomatoPlant()); + farm.getField().add(row); + tractor.operate(farm); + + Integer actual = tractor.getaList().size(); + Integer expected = 1; + + Assert.assertEquals(expected, actual); + } + +}