Skip to content
Open

Greg #42

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
b059936
UML
Mar 24, 2021
8c25011
UML
Mar 24, 2021
c45aeed
Merge pull request #1 from gregdon13/Greg
gregdon13 Mar 24, 2021
4751a39
UML updated
Mar 24, 2021
bd193b2
Merge pull request #2 from gregdon13/Greg
gregdon13 Mar 24, 2021
a656b89
uml update
Mar 24, 2021
a1dba45
UML APPROVED
Mar 24, 2021
4d6ce67
Merge pull request #3 from gregdon13/Greg
gregdon13 Mar 24, 2021
f9008aa
packages made
Mar 24, 2021
ea8dad1
Merge pull request #4 from gregdon13/Greg
gregdon13 Mar 24, 2021
61f9190
classes and interfaces made with extensions and implementations for E…
Mar 24, 2021
08acdda
Merge pull request #5 from gregdon13/Greg
gregdon13 Mar 24, 2021
892fdd0
vehicle package and edible package made
Mar 25, 2021
965f7e0
Merge pull request #6 from gregdon13/Greg
gregdon13 Mar 25, 2021
8281399
outer interfaces made
Mar 25, 2021
262964f
Merge pull request #7 from gregdon13/Greg
gregdon13 Mar 25, 2021
2a533a4
Produce interface
Mar 25, 2021
16d27bb
Merge pull request #8 from gregdon13/Greg
gregdon13 Mar 25, 2021
df27a46
Crops package made
Mar 25, 2021
7f8899e
Merge pull request #9 from gregdon13/Greg
gregdon13 Mar 25, 2021
38bcdcd
farm package made
Mar 25, 2021
c6eeaa7
Merge pull request #10 from gregdon13/Greg
gregdon13 Mar 25, 2021
f8e72c8
added vehicle and edibles methods
jorget93 Mar 25, 2021
7c50893
Merge branch 'master' of https://github.com/gregdon13/Maven.FarmerFro…
jorget93 Mar 25, 2021
791edd6
added methods to noiseMaker Produce and Eater
jorget93 Mar 25, 2021
1c680bb
routine package made
Mar 25, 2021
b0373fa
Merge pull request #11 from gregdon13/Greg
gregdon13 Mar 25, 2021
7c02c88
Merge pull request #12 from gregdon13/Jorge
gregdon13 Mar 25, 2021
f15d8d7
added 2 mothods to crop
jorget93 Mar 25, 2021
d3af9c8
Persons & Animal package
KellyPorter02 Mar 25, 2021
726d70d
Merge pull request #13 from gregdon13/kelly
gregdon13 Mar 25, 2021
5ce1398
Added method to ProduceStand
jorget93 Mar 25, 2021
eb4456d
routines package made
Mar 25, 2021
89c7c0d
Merge pull request #14 from gregdon13/Greg
gregdon13 Mar 25, 2021
bd052d2
;aksdj
Mar 25, 2021
abe042c
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 25, 2021
65d2411
Merge pull request #15 from gregdon13/Jorge
gregdon13 Mar 25, 2021
d058266
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 25, 2021
720892b
made tests for EdiblesPAckage
jorget93 Mar 25, 2021
577e1a2
made tests for EdiblesPAckage
jorget93 Mar 25, 2021
4564053
Merge branch 'master' of https://github.com/gregdon13/Maven.FarmerFro…
jorget93 Mar 25, 2021
bff439f
Some chicken tests
KellyPorter02 Mar 25, 2021
0ead445
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
KellyPorter02 Mar 25, 2021
5763c43
changed return types of all downstream classes to Eater interface
KellyPorter02 Mar 25, 2021
cdb1dd4
made tests for VehiclesPackage
jorget93 Mar 25, 2021
c6b72e0
Some tests for Horse
KellyPorter02 Mar 25, 2021
42a078b
Merge pull request #16 from gregdon13/Jorge
gregdon13 Mar 25, 2021
0392843
coops and stables are present
Mar 25, 2021
bfe66d2
Merge pull request #17 from gregdon13/Greg
gregdon13 Mar 25, 2021
840658e
Merge pull request #18 from gregdon13/kelly
gregdon13 Mar 25, 2021
9683232
PilotTest class created
KellyPorter02 Mar 25, 2021
1c5caf5
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
KellyPorter02 Mar 25, 2021
b641bef
adjustments
Mar 25, 2021
34dd72d
Merge pull request #19 from gregdon13/Greg
gregdon13 Mar 25, 2021
eb52003
Added method stubs to Botanist, Rider Interface
KellyPorter02 Mar 25, 2021
f8dd049
lots of stuf
Mar 25, 2021
18a1ed4
Merge pull request #20 from gregdon13/Greg
gregdon13 Mar 25, 2021
7e785ad
Tests for farmer class
KellyPorter02 Mar 25, 2021
c29ede6
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
KellyPorter02 Mar 25, 2021
7d42cbf
harvesting crops methods added. tests added
Mar 25, 2021
d5dfed0
Merge pull request #21 from gregdon13/Greg
gregdon13 Mar 25, 2021
9d1c1ed
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
KellyPorter02 Mar 25, 2021
849c265
adding to aircraft
jorget93 Mar 25, 2021
d169419
added to cropduster
jorget93 Mar 25, 2021
c80e2a5
stuff
jorget93 Mar 25, 2021
182461c
added isMounted method to Rideable interface
KellyPorter02 Mar 25, 2021
7d78707
more stuff
jorget93 Mar 25, 2021
e3e1c38
Merge pull request #22 from gregdon13/Jorge
gregdon13 Mar 25, 2021
329390f
fixed merge conflicts
KellyPorter02 Mar 25, 2021
cb6c2d2
more tests
Mar 25, 2021
4c8e613
Merge pull request #23 from gregdon13/Greg
gregdon13 Mar 25, 2021
c7719b6
Merge branch 'master' into kelly
gregdon13 Mar 25, 2021
e4e1fde
Merge pull request #24 from gregdon13/kelly
gregdon13 Mar 25, 2021
7b06dba
stuff
Mar 26, 2021
2cd76d8
Merge pull request #25 from gregdon13/Greg
gregdon13 Mar 26, 2021
4080bb0
added moonshine methods and tests
jorget93 Mar 26, 2021
10a33b4
tests for CropRow
Mar 26, 2021
88018ba
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 26, 2021
81cae47
still some red but builds and runs
jorget93 Mar 26, 2021
15a72fd
Merge pull request #26 from gregdon13/Jorge
gregdon13 Mar 26, 2021
4a57ea7
croptests
Mar 26, 2021
2c7aad0
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 26, 2021
876d4ed
more tests added to fields and rows
Mar 26, 2021
6eae9b2
Merge pull request #27 from gregdon13/Greg
gregdon13 Mar 26, 2021
490193e
produceStand and tests
Mar 26, 2021
3a58b39
Merge pull request #28 from gregdon13/Greg
gregdon13 Mar 26, 2021
bc5c093
worked on stuff
jorget93 Mar 26, 2021
c663531
Merge branch 'master' of https://github.com/gregdon13/Maven.FarmerFro…
jorget93 Mar 26, 2021
79906f7
Merge pull request #30 from gregdon13/Jorge
gregdon13 Mar 26, 2021
94257cf
added crop methods
jorget93 Mar 26, 2021
82d0eba
Merge pull request #31 from gregdon13/Jorge
gregdon13 Mar 26, 2021
bdefcda
routines
Mar 26, 2021
9019c15
Merge branch 'master' into Greg
gregdon13 Mar 26, 2021
c71e72b
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 26, 2021
8048203
should merge now
Mar 26, 2021
8c5e525
Merge branch 'Greg' of github.com:gregdon13/Maven.FarmerFroilan into …
Mar 26, 2021
16a2057
produce stopped being a bicht
Mar 26, 2021
9a9723b
Merge pull request #33 from gregdon13/Greg
gregdon13 Mar 26, 2021
c4f8fde
crops now yield the edible plants
Mar 26, 2021
7da6cfb
can't get harvestRow to work because Field is somehow null
Mar 26, 2021
ea506b0
upaate`
Mar 26, 2021
0e8fef4
Merge pull request #34 from gregdon13/Greg
gregdon13 Mar 26, 2021
916b791
eaters can eat a number of a food. Farmer can feed chickens and horse…
Mar 26, 2021
dc0543b
Merge pull request #35 from gregdon13/Greg
gregdon13 Mar 26, 2021
cff96e5
added to field and tractor
jorget93 Mar 26, 2021
8474685
Merge branch 'master' of https://github.com/gregdon13/Maven.FarmerFro…
jorget93 Mar 26, 2021
9ff7c77
Merge pull request #37 from gregdon13/Jorge
gregdon13 Mar 26, 2021
79d565f
updates
Mar 26, 2021
fec0f41
Merge branch 'master' of github.com:gregdon13/Maven.FarmerFroilan int…
Mar 26, 2021
3a82912
got farmer.plant to work with the singleton. Struggling to get tracto…
Mar 26, 2021
a0a43ec
ProduceStand is a singleton. MainApplication class built
Mar 26, 2021
b103d59
Tractor being tested correctly. Just need to fix isMounted for horses
Mar 27, 2021
c3f54b3
only horse mounted needs to be adjusted. Field is fixed. Tractor is f…
Mar 27, 2021
20d5f0c
produceStand prints not the hashcode
Mar 28, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
305 changes: 305 additions & 0 deletions Farm.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,305 @@
@startuml
'https://plantuml.com/class-diagram

abstract class Animal<E extends EdiblePlant> {
eat (EdiblePlant obj)
makeNoise;
}
abstract class FarmVehicle {
operate;
makeNoise;
}
abstract class Aircraft {
fly;
makeNoise;
}


interface LivingThing {}
interface HorseFood {
hasBeenFertilized;
hasBeenHarvested;
}
interface ChickenFood {
hasBeenFertilized;
hasBeenHarvested;
}
interface EdiblePlant {
hasBeenFertilized;
hasBeenHarvested;
}
interface Edible{
hasBeenFertilized;
}
interface Eater<Edible> {
eat(Edible obj);
}
interface NoiseMaker {
makeNoise;
}
interface Rideable {}
interface Produce {
yield(Edible obj) if hasBeenFertilized;
}
interface Vehicle {
makeNoise;
}
interface Person<Edible> {
eat(Edible obj);
makeNoise;
}
interface Rider {
mount(Rideable obj)
dismount(Rideable obj)
eat(Edible obj);
makeNoise;
}
interface Botanist {
plant (Crop crop, CropRow row);
eat(Edible obj);
makeNoise;
}
interface DailyRoutine {
mount (Horse horse)
dismount (Horse horse)
feed (Horse horse, int numOfCorn)
}
interface Housing {
store (LivingThing livingThing)
}


class Farm {
Collections for houses
}
class Horse {
makeNoise
eat (HorseFood obj)
}
class Chicken {
eat (ChickenFood obj)
makeNoise;
yield(EdibleEgg egg) if hasBeenFertilized == false
}
class EdibleEgg {
hasBeenFertilized;
}
class Field<CropRow> {
store(CropRow);
}
class CropRow<Crop> {
store(Crop);
}
class Crop <E extends EdiblePlant>{
yield (EdiblePlant obj) if hasBeenFertilized && hasBeenHarvested;
}
class CornStalk<EarCorn> {
yield(EarCorn);
}
class EarCorn {
hasBeenFertilized;
hasBeenHarvested;
}
class TomatoPlant<Tomato> {
yield(Tomato);
}
class Tomato {
hasBeenFertilized;
hasBeenHarvested;
}
class BeanStalk <SoyBean> {
yield(Soybean soybean)
}
class SoyBean {
hasBeenFertilized;
hasBeenHarvested;
}
class PumpkinVines<Pumpkin> {
yield(Pumpkin pumpkin)
}
class Pumpkin {
hasBeenFertilized;
hasBeenHarvested;
}
class AppleTrees<Apple> {
yield (Apple apple)
}
class Apple {
hasBeenFertilized;
hasBeenHarvested;
}
class Tractor {
harvest(Crop crop);
operate;
makeNoise;
}
class CropDuster {
fertilize(CropRow row);
fly;
makeNoise;
}
class Farmer {
mount(Rideable obj)
dismount(Rideable obj)
eat(Edible obj);
makeNoise;
plant (Crop crop, CropRow row);
}
class Pilot {
mount(Rideable obj)
dismount(Rideable obj)
eat(Edible obj);
makeNoise;
Fly (CropDuster duster);
}
class Stable<Horse> {
store (Horse horse);
}
class FarmHouse<Person> {
store (Person person)
}
class ChickenCoop<Chicken> {
store (Chicken)
}
class Moonshine {
distill (Corn corn)
}
class ProduceStand {
addProduce (Produce)
}
class routineEngine {
Monday;
Tuesday;
Wednesday;
Thursday;
Friday;
Saturday;
Sunday;
}


'class Monday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'fly (CropDuster duster)
'}
'class Tuesday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'mount(Tractor tractor)
'harvest (Crop crop)
'dismount(Tractor tractor)
'}
'class Wednesday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'distill (Moonshine moonshine)
'}
'class Thursday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'}
'class Friday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'drink (Moonshine moonshine)
'work (ProduceStand produceStand)
'}
'class Saturday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'feed (Chicken chicken)
'}
'class Sunday {
'mount (Horse horse)
'dismount (Horse horse)
'feed (Horse horse, int numOfCorn)
'eat(Edible obj)
'plant (Crop crop, CropRow row) 3-5
'}



Eater <|-- Animal
NoiseMaker <|-- Animal

Animal <|-- Horse
Rideable <|-- Horse

Animal <|-- Chicken
Produce <|-- Chicken

Person <|-- Rider
Person <|-- Botanist

Field <|-- CropRow

NoiseMaker <|--- Vehicle
Rideable <|--- Vehicle

Vehicle <|--- Aircraft
Vehicle <|--- FarmVehicle

Produce <|--- Crop

Crop <|--- CornStalk
Crop <|--- TomatoPlant
Crop <|--- BeanStalk
Crop <|--- PumpkinVines
Crop <|--- AppleTrees

Edible <|- EdiblePlant
Edible <|--- EdibleEgg

EdiblePlant <|-- Tomato
EdiblePlant <|--- Pumpkin
EdiblePlant <|-- HorseFood
EdiblePlant <|-- ChickenFood

HorseFood <|-- EarCorn
HorseFood <|-- Apple

ChickenFood <|-- SoyBean
ChickenFood <|-- EarCorn

NoiseMaker <|---- Person
Eater <|---- Person

FarmVehicle <|-- Tractor
Aircraft <|-- CropDuster

Botanist <|---- Farmer
Rider <|---- Farmer

Housing <|-- FarmHouse
Housing <|-- ChickenCoop
Housing <|-- Stable

Rider <|--- Pilot

DailyRoutine <|-- routineEngine

LivingThing <|---- Animal
LivingThing <|---- Person

'DailyRoutine <|--- Monday
'DailyRoutine <|--- Tuesday
'DailyRoutine <|--- Wednesday
'DailyRoutine <|--- Thursday
'DailyRoutine <|--- Friday
'DailyRoutine <|--- Saturday
'DailyRoutine <|--- Sunday

@enduml
8 changes: 8 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@
<groupId>com.zipcodewilmington</groupId>
<artifactId>froilans-farm</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>


</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.zipcodewilmington.froilansfarm.Animals;

import com.zipcodewilmington.froilansfarm.Eater;
import com.zipcodewilmington.froilansfarm.EdiblePackage.Edible;
import com.zipcodewilmington.froilansfarm.LivingThing;
import com.zipcodewilmington.froilansfarm.NoiseMaker;

public abstract class Animal implements Eater, LivingThing, NoiseMaker {
public String eat(Edible obj) {
return null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.zipcodewilmington.froilansfarm.Animals;

import com.zipcodewilmington.froilansfarm.EdiblePackage.ChickenFood;
import com.zipcodewilmington.froilansfarm.EdiblePackage.EarCorn;
import com.zipcodewilmington.froilansfarm.EdiblePackage.Edible;
import com.zipcodewilmington.froilansfarm.EdiblePackage.Egg;
import com.zipcodewilmington.froilansfarm.Produce;

import java.util.Random;

public class Chicken extends Animal implements Produce {
private Egg egg = new Egg();

public String makeNoise() {
System.out.println("Bok Bok!");
return "Bok Bok!";
}

public Egg yieldProd() {
return egg;
}


public String eat(ChickenFood chickyFood) {
System.out.println("Peck Peck");
return "Peck Peck";
}



public String eat(Edible obj, int numOfFood) {
System.out.println("Peck Peck");
return "Peck Peck";
}

public int numOfEggs() {
Random randomAmount = new Random();
return randomAmount.nextInt(5) + 1;
}

}
Loading