diff --git a/visualiser/.idea/workspace.xml b/visualiser/.idea/workspace.xml
index 8abce0df..a973e7f6 100644
--- a/visualiser/.idea/workspace.xml
+++ b/visualiser/.idea/workspace.xml
@@ -19,21 +19,121 @@
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -41,11 +141,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -124,15 +247,15 @@
-
+
-
+
-
+
@@ -154,15 +277,15 @@
-
+
-
+
-
+
@@ -180,15 +303,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -206,7 +321,7 @@
-
+
@@ -217,10 +332,6 @@
-
-
-
-
@@ -239,30 +350,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
@@ -735,7 +832,7 @@
1492733921956
-
+
@@ -745,41 +842,41 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -797,6 +894,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -805,13 +950,161 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/visualiser/src/main/java/seng302/Mock/StreamedCourse.java b/visualiser/src/main/java/seng302/Mock/StreamedCourse.java
new file mode 100644
index 00000000..0f76a4da
--- /dev/null
+++ b/visualiser/src/main/java/seng302/Mock/StreamedCourse.java
@@ -0,0 +1,50 @@
+package seng302.Mock;
+
+import seng302.GPSCoordinate;
+import seng302.Model.BoatInRace;
+import seng302.Model.Leg;
+import seng302.RaceDataSource;
+import seng302.XMLReader;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Created by jjg64 on 21/04/17.
+ */
+public class StreamedCourse implements RaceDataSource {
+ XMLReader xmlReader;
+ List boundary = new ArrayList<>();
+
+ public StreamedCourse(XMLReader xmlReader) {
+ this.xmlReader = xmlReader;
+ }
+
+ public List getBoats() {
+ return null;
+ }
+
+ public List getLegs() {
+ return null;
+ }
+
+ public List getBoundary() {
+ return null;
+ }
+
+ public GPSCoordinate getMark() {
+ return null;
+ }
+
+ public GPSCoordinate getMapTopLeft() {
+ return null;
+ }
+
+ public GPSCoordinate getMapBottomRight() {
+ return null;
+ }
+
+
+}
diff --git a/visualiser/src/main/java/seng302/Mock/StreamedRace.java b/visualiser/src/main/java/seng302/Mock/StreamedRace.java
new file mode 100644
index 00000000..3fa93dec
--- /dev/null
+++ b/visualiser/src/main/java/seng302/Mock/StreamedRace.java
@@ -0,0 +1,56 @@
+package seng302.Mock;
+
+import javafx.collections.FXCollections;
+import seng302.Controllers.RaceController;
+import seng302.Model.BoatInRace;
+import seng302.Model.Leg;
+import seng302.Model.Race;
+import seng302.RaceDataSource;
+
+import java.util.*;
+
+/**
+ * Created by jjg64 on 21/04/17.
+ */
+public class StreamedRace extends Race{
+ private RaceDataSource raceData;
+
+ public StreamedRace(RaceDataSource raceData, RaceController controller, int scaleFactor) {
+ super(raceData.getBoats(), raceData.getLegs(), controller, scaleFactor);
+ this.raceData = raceData;
+ }
+
+ public void initialiseBoats() {
+
+ }
+
+ /**
+ * Checks if the boat cannot finish the race
+ * @return True if boat cannot finish the race
+ */
+ protected boolean doNotFinish() {
+ return false;
+ }
+
+ /**
+ * Checks the position of the boat, this updates the boats current position.
+ *
+ * @param boat Boat that the postion is to be updated for.
+ * @param timeElapsed Time that has elapse since the start of the the race.
+ * @see BoatInRace
+ */
+ protected void checkPosition(BoatInRace boat, long timeElapsed) {
+
+ }
+
+ /**
+ * Updates the boat's gps coordinates
+ *
+ * @param boat to be updated
+ * @param millisecondsElapsed time since last update
+ */
+ protected void updatePosition(BoatInRace boat, int millisecondsElapsed) {
+
+ }
+
+}
diff --git a/visualiser/src/main/java/seng302/Model/Race.java b/visualiser/src/main/java/seng302/Model/Race.java
index bfc1d518..c033c8a3 100644
--- a/visualiser/src/main/java/seng302/Model/Race.java
+++ b/visualiser/src/main/java/seng302/Model/Race.java
@@ -65,8 +65,8 @@ public abstract class Race implements Runnable {
public abstract void initialiseBoats();
/**
- * Randomly generate number to see if boat fails
- * @return True if number lower than dnfChance else false
+ * Checks if the boat cannot finish the race
+ * @return True if boat cannot finish the race
*/
protected abstract boolean doNotFinish();
@@ -80,7 +80,7 @@ public abstract class Race implements Runnable {
protected abstract void checkPosition(BoatInRace boat, long timeElapsed);
/**
- * Updates the boat's gps coordinates depending on time elapsed
+ * Updates the boat's gps coordinates
*
* @param boat to be updated
* @param millisecondsElapsed time since last update
diff --git a/visualiser/src/test/java/seng302/Mock/BoatsXMLTest.java b/visualiser/src/test/java/seng302/Mock/BoatsXMLTest.java
new file mode 100644
index 00000000..990e3a49
--- /dev/null
+++ b/visualiser/src/test/java/seng302/Mock/BoatsXMLTest.java
@@ -0,0 +1,7 @@
+package seng302.Mock;
+
+/**
+ * Created by jjg64 on 21/04/17.
+ */
+public class BoatsXMLTest {
+}
diff --git a/visualiser/src/test/java/seng302/Mock/StreamedRaceTest.java b/visualiser/src/test/java/seng302/Mock/StreamedRaceTest.java
new file mode 100644
index 00000000..dca6d1db
--- /dev/null
+++ b/visualiser/src/test/java/seng302/Mock/StreamedRaceTest.java
@@ -0,0 +1,8 @@
+package seng302.Mock;
+
+/**
+ * Created by jjg64 on 21/04/17.
+ */
+public class StreamedRaceTest {
+
+}
diff --git a/visualiser/src/test/resources/mockXML/raceXML/raceTest.xml b/visualiser/src/test/resources/mockXML/raceXML/raceTest.xml
new file mode 100644
index 00000000..8c19df9a
--- /dev/null
+++ b/visualiser/src/test/resources/mockXML/raceXML/raceTest.xml
@@ -0,0 +1,91 @@
+
+
+
+
+ 11080703
+
+ Match
+
+ 2011-08-06T13:25:00-0000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file