Renamed some directories, optimized imports, general code clean up
#story[778]
This commit is contained in:
@@ -3,14 +3,13 @@ package seng302.Data;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.xml.sax.SAXException;
|
||||
import seng302.Mock.RaceDataSource;
|
||||
import seng302.RaceXMLReader;
|
||||
import seng302.DataInput.RaceDataSource;
|
||||
import seng302.DataInput.RaceXMLReader;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.IOException;
|
||||
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
/**
|
||||
* Created by esa46 on 25/04/17.
|
||||
@@ -18,7 +17,7 @@ import static org.junit.Assert.fail;
|
||||
public class RaceDataTest {
|
||||
|
||||
private static final String ROOT_TAG = "Race";
|
||||
private static final String[] REQUIRED_TAGS = new String[] {
|
||||
private static final String[] REQUIRED_TAGS = new String[]{
|
||||
"RaceID", "RaceType", "CreationTimeDate", "RaceStartTime", "Participants", "Yacht",
|
||||
"CompoundMarkSequence", "Course", "CompoundMark", "Mark", "CourseLimit", "Limit"
|
||||
};
|
||||
@@ -48,7 +47,7 @@ public class RaceDataTest {
|
||||
assertTrue(result.contains("<" + ROOT_TAG + ">"));
|
||||
for (String tag : REQUIRED_TAGS) {
|
||||
System.out.println(tag);
|
||||
assertTrue(result.contains("<" + tag + ">") || result.contains("<" + tag + " ") );
|
||||
assertTrue(result.contains("<" + tag + ">") || result.contains("<" + tag + " "));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,8 +72,8 @@ public class RaceDataTest {
|
||||
|
||||
@Test
|
||||
public void idAndTypeAreEquivalent() {
|
||||
String newId = result.substring(result.indexOf("<RaceID>" ) + 8, result.indexOf("</RaceID>"));
|
||||
String newRaceType = result.substring(result.indexOf("<RaceType>" ) + 10, result.indexOf("</RaceType>"));
|
||||
String newId = result.substring(result.indexOf("<RaceID>") + 8, result.indexOf("</RaceID>"));
|
||||
String newRaceType = result.substring(result.indexOf("<RaceType>") + 10, result.indexOf("</RaceType>"));
|
||||
|
||||
assertTrue(raceDataSource.getRaceId().equals(newId));
|
||||
assertTrue(raceDataSource.getRaceType().equals(newRaceType));
|
||||
|
||||
@@ -2,12 +2,10 @@ package seng302.Mock;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import seng302.DataInput.RegattaXMLReader;
|
||||
import seng302.Model.Regatta;
|
||||
import seng302.RegattaXMLReader;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Created by jjg64 on 19/04/17.
|
||||
@@ -16,7 +14,7 @@ public class RegattaXMLTest {
|
||||
RegattaXMLReader regattaXMLReader;
|
||||
|
||||
@Before
|
||||
public void findFile(){
|
||||
public void findFile() {
|
||||
try {
|
||||
regattaXMLReader = new RegattaXMLReader("mockXML/regattaTest.xml", false);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
package seng302.Model;
|
||||
|
||||
import javafx.scene.paint.Color;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import seng302.GPSCoordinate;
|
||||
|
||||
import static junit.framework.TestCase.assertEquals;
|
||||
import static junit.framework.TestCase.assertFalse;
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
import static junit.framework.TestCase.*;
|
||||
|
||||
/**
|
||||
* Created by esa46 on 22/03/17.
|
||||
@@ -147,13 +142,13 @@ public class BoatInRaceTest {
|
||||
Marker endMarker = new Marker(new GPSCoordinate(50, 0));
|
||||
Leg leg0deg = new Leg("Start", startMarker, endMarker, 0);
|
||||
boat.setCurrentLeg(leg0deg);
|
||||
boat.setCurrentPosition(new GPSCoordinate(0,0));
|
||||
boat.setCurrentPosition(new GPSCoordinate(0, 0));
|
||||
|
||||
// Get latitude of endpoint of wake at 10 kn (longitude is 0)
|
||||
double endpointAt10Kn = boat.getWake().getLatitude();
|
||||
|
||||
// Latitude of endpoint at 20 kn should be twice endpoint at 10 kn
|
||||
boat.setVelocity(20);
|
||||
assertEquals(2*endpointAt10Kn, boat.getWake().getLatitude(), 1e-8);
|
||||
assertEquals(2 * endpointAt10Kn, boat.getWake().getLatitude(), 1e-8);
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,7 @@ package seng302.Model;
|
||||
import org.geotools.referencing.GeodeticCalculator;
|
||||
import org.junit.Test;
|
||||
import seng302.Constants;
|
||||
import seng302.GPSCoordinate;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.geom.Point2D;
|
||||
|
||||
import static junit.framework.TestCase.assertEquals;
|
||||
|
||||
@@ -2,7 +2,6 @@ package seng302.Model;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import seng302.GPSCoordinate;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
||||
@@ -3,15 +3,8 @@ package seng302.Model;
|
||||
import javafx.scene.paint.Color;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.xml.sax.SAXException;
|
||||
import seng302.GPSCoordinate;
|
||||
import seng302.Mock.RaceDataSource;
|
||||
import seng302.RaceXMLReader;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
@@ -27,7 +20,7 @@ public class RaceTest {
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void timerCanBeDisabled(){
|
||||
public void timerCanBeDisabled() {
|
||||
BoatInRace boat1 = new BoatInRace("Test 1", 10000, Color.ALICEBLUE, "t1", 1);
|
||||
BoatInRace boat2 = new BoatInRace("Test 2", 10000, Color.BURLYWOOD, "t2", 2);
|
||||
//BoatInRace[] boats = new BoatInRace[]{boat1, boat2};
|
||||
@@ -36,7 +29,8 @@ public class RaceTest {
|
||||
boats.add(boat2);
|
||||
|
||||
ArrayList<Leg> legs = new ArrayList<>();
|
||||
legs.add(START_LEG); legs.add(FINISH_LEG);
|
||||
legs.add(START_LEG);
|
||||
legs.add(FINISH_LEG);
|
||||
|
||||
Race race = new Race(boats, legs, 5);
|
||||
race.setDnfChance(0);
|
||||
@@ -145,7 +139,7 @@ public class RaceTest {
|
||||
float vel2 = (float) 1.999;
|
||||
float vel3 = (float) 32.5;
|
||||
float vel4 = 500;
|
||||
BoatInRace boat1 = new BoatInRace("test", vel1, Color.ALICEBLUE, "tt",1);
|
||||
BoatInRace boat1 = new BoatInRace("test", vel1, Color.ALICEBLUE, "tt", 1);
|
||||
BoatInRace boat2 = new BoatInRace("test", vel2, Color.ALICEBLUE, "tt", 2);
|
||||
BoatInRace boat3 = new BoatInRace("test", vel3, Color.ALICEBLUE, "tt", 3);
|
||||
BoatInRace boat4 = new BoatInRace("test", vel4, Color.ALICEBLUE, "tt", 4);
|
||||
|
||||
@@ -2,23 +2,19 @@ package seng302.Model;/**
|
||||
* Created by Gondr on 26/03/2017.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.xml.sax.SAXException;
|
||||
import seng302.RaceXMLReader;
|
||||
import seng302.DataInput.RaceXMLReader;
|
||||
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class RaceXMLTest {
|
||||
RaceXMLReader raceXMLReader;
|
||||
|
||||
@Test
|
||||
public void canFindFile(){
|
||||
public void canFindFile() {
|
||||
try {
|
||||
RaceXMLReader raceXMLReader = new RaceXMLReader("raceXML/bermuda_AC35.xml", false);
|
||||
} catch (Exception e) {
|
||||
@@ -28,7 +24,7 @@ public class RaceXMLTest {
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void canReadBoats(){
|
||||
public void canReadBoats() {
|
||||
try {
|
||||
RaceXMLReader raceXMLReader = new RaceXMLReader("raceXML/bermuda_AC35.xml", false);
|
||||
raceXMLReader.readBoats();
|
||||
@@ -63,7 +59,7 @@ public class RaceXMLTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canReadLegs(){
|
||||
public void canReadLegs() {
|
||||
try {
|
||||
RaceXMLReader raceXMLReader = new RaceXMLReader("raceXML/bermuda_AC35.xml", false);
|
||||
raceXMLReader.readLegs();
|
||||
@@ -74,7 +70,7 @@ public class RaceXMLTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canReadCourse(){
|
||||
public void canReadCourse() {
|
||||
try {
|
||||
RaceXMLReader raceXMLReader = new RaceXMLReader("raceXML/bermuda_AC35.xml", false);
|
||||
raceXMLReader.readCourse();
|
||||
|
||||
@@ -2,8 +2,6 @@ package seng302.Networking;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.BinaryMesageEncoder;
|
||||
import seng302.Networking.BinaryMessageDecoder;
|
||||
import seng302.Networking.MessageDecoders.XMLMessageDecoder;
|
||||
import seng302.Networking.MessageEncoders.XMLMessageEncoder;
|
||||
import seng302.Networking.Utils.MessageType;
|
||||
@@ -17,30 +15,30 @@ import java.io.InputStreamReader;
|
||||
*/
|
||||
public class BinaryMessageDecoderTest {
|
||||
@Test
|
||||
public void decodeTest(){
|
||||
try{
|
||||
public void decodeTest() {
|
||||
try {
|
||||
StringBuilder xmlString;
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(
|
||||
this.getClass().getResourceAsStream(("../../raceXML/Regatta.xml"))));
|
||||
String line;
|
||||
xmlString = new StringBuilder();
|
||||
while((line=br.readLine())!= null){
|
||||
while ((line = br.readLine()) != null) {
|
||||
xmlString.append(line.trim());
|
||||
}
|
||||
long time = System.currentTimeMillis();
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte)1, (short)1, time, (byte)7, (short)1, (short)xmlString.length(), xmlString.toString());
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte) 1, (short) 1, time, (byte) 7, (short) 1, (short) xmlString.length(), xmlString.toString());
|
||||
|
||||
byte[] encodedMessage = testEncoder.encode();
|
||||
|
||||
BinaryMesageEncoder testMessage = new BinaryMesageEncoder(MessageType.XMLMESSAGE, time, 1, (short)encodedMessage.length, encodedMessage);
|
||||
BinaryMesageEncoder testMessage = new BinaryMesageEncoder(MessageType.XMLMESSAGE, time, 1, (short) encodedMessage.length, encodedMessage);
|
||||
|
||||
BinaryMessageDecoder testDecoder = new BinaryMessageDecoder(testMessage.getFullMessage());
|
||||
testDecoder.decode();
|
||||
|
||||
//message length
|
||||
Assert.assertEquals((short) encodedMessage.length,testDecoder.getMessageLength());
|
||||
Assert.assertEquals((short) encodedMessage.length, testDecoder.getMessageLength());
|
||||
//time stamp
|
||||
Assert.assertEquals(time,testDecoder.getTimeStamp());
|
||||
Assert.assertEquals(time, testDecoder.getTimeStamp());
|
||||
//source ID
|
||||
Assert.assertEquals((short) 1, testDecoder.getSourceID());
|
||||
//message type
|
||||
@@ -50,15 +48,15 @@ public class BinaryMessageDecoderTest {
|
||||
decoderXML.decode();
|
||||
|
||||
//tests from seng302.Networking.MessageDecoders.XMLMessageDecoderTest to make sure the file is still good
|
||||
Assert.assertEquals((byte)1, decoderXML.getMessageVersionNumber());
|
||||
Assert.assertEquals((short)1, decoderXML.getAckNumber());
|
||||
Assert.assertEquals((byte) 1, decoderXML.getMessageVersionNumber());
|
||||
Assert.assertEquals((short) 1, decoderXML.getAckNumber());
|
||||
Assert.assertEquals(time, decoderXML.getTimeStamp());
|
||||
Assert.assertEquals((byte)7, decoderXML.getXmlMsgSubType());
|
||||
Assert.assertEquals((short)1, decoderXML.getSequenceNumber());
|
||||
Assert.assertEquals((short)xmlString.length(), decoderXML.getXmlMsgLength());
|
||||
Assert.assertEquals((byte) 7, decoderXML.getXmlMsgSubType());
|
||||
Assert.assertEquals((short) 1, decoderXML.getSequenceNumber());
|
||||
Assert.assertEquals((short) xmlString.length(), decoderXML.getXmlMsgLength());
|
||||
Assert.assertEquals(xmlString.toString(), decoderXML.getXmlMessage());
|
||||
|
||||
}catch (IOException e){
|
||||
} catch (IOException e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,8 @@ package seng302.Networking.MessageDecoders;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.MessageDecoders.BoatLocationDecoder;
|
||||
import seng302.Networking.Utils.BoatLocationMessage;
|
||||
import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
import seng302.Networking.Utils.BoatLocationMessage;
|
||||
|
||||
|
||||
/**
|
||||
@@ -12,15 +11,15 @@ import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
*/
|
||||
public class BoatLocationDecoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
public void getByteArrayTest() {
|
||||
long time = System.currentTimeMillis();
|
||||
BoatLocationMessage testMessage = new BoatLocationMessage((byte)1, time, (byte)2,
|
||||
3, (byte) 1, 180, -180, 4, (short)5,
|
||||
(short)6, (short)7, 8, 9, 10, 11,
|
||||
(short) 12, 13,(short) 14 ,(short) 15,
|
||||
BoatLocationMessage testMessage = new BoatLocationMessage((byte) 1, time, (byte) 2,
|
||||
3, (byte) 1, 180, -180, 4, (short) 5,
|
||||
(short) 6, (short) 7, 8, 9, 10, 11,
|
||||
(short) 12, 13, (short) 14, (short) 15,
|
||||
16, 17, (short) 18);
|
||||
RaceVisionByteEncoder raceVisionByteEncoder = new RaceVisionByteEncoder();
|
||||
byte [] testEncodedMessage = raceVisionByteEncoder.boatLocation(testMessage);
|
||||
byte[] testEncodedMessage = raceVisionByteEncoder.boatLocation(testMessage);
|
||||
|
||||
BoatLocationDecoder testDecoder = new BoatLocationDecoder(testEncodedMessage);
|
||||
BoatLocationMessage decodedTest = testDecoder.getMessage();
|
||||
|
||||
@@ -2,9 +2,8 @@ package seng302.Networking.MessageDecoders;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.MessageDecoders.CourseWindDecoder;
|
||||
import seng302.Networking.Utils.CourseWind;
|
||||
import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
import seng302.Networking.Utils.CourseWind;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,11 +13,11 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class CourseWindDecoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
public void getByteArrayTest() {
|
||||
long time = System.currentTimeMillis();
|
||||
CourseWind testCourseWind1 = new CourseWind(1, time, 2,
|
||||
3, 4, 5,
|
||||
7, 6);
|
||||
3, 4, 5,
|
||||
7, 6);
|
||||
|
||||
long time2 = System.currentTimeMillis();
|
||||
CourseWind testCourseWind2 = new CourseWind(2, time2, 2,
|
||||
|
||||
+4
-5
@@ -2,7 +2,6 @@ package seng302.Networking.MessageDecoders;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.MessageDecoders.RaceStartStatusDecoder;
|
||||
import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
|
||||
/**
|
||||
@@ -10,13 +9,13 @@ import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
*/
|
||||
public class RaceStartStatusDecoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
public void getByteArrayTest() {
|
||||
long time = System.currentTimeMillis();
|
||||
|
||||
RaceVisionByteEncoder raceVisionByteEncoder = new RaceVisionByteEncoder();
|
||||
long time2 = System.currentTimeMillis();
|
||||
byte[] encodedRaceStartStatus = raceVisionByteEncoder.raceStartStatus(time, (short)1,
|
||||
time2, 2, (char)3);
|
||||
byte[] encodedRaceStartStatus = raceVisionByteEncoder.raceStartStatus(time, (short) 1,
|
||||
time2, 2, (char) 3);
|
||||
|
||||
RaceStartStatusDecoder testDecoder = new RaceStartStatusDecoder(encodedRaceStartStatus);
|
||||
|
||||
@@ -25,7 +24,7 @@ public class RaceStartStatusDecoderTest {
|
||||
Assert.assertEquals(1, testDecoder.getAck());
|
||||
Assert.assertEquals(time2, testDecoder.getStartTime());
|
||||
Assert.assertEquals(2, testDecoder.getRaceID());
|
||||
Assert.assertEquals((char)3, testDecoder.getNotification());
|
||||
Assert.assertEquals((char) 3, testDecoder.getNotification());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Model.BoatInRace;
|
||||
import seng302.Model.Leg;
|
||||
import seng302.Networking.MessageDecoders.RaceStatusDecoder;
|
||||
import seng302.Networking.MessageEncoders.RaceVisionByteEncoder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -15,7 +14,7 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class RaceStatusDecoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
public void getByteArrayTest() {
|
||||
long time = System.currentTimeMillis();
|
||||
BoatInRace boat1 = new BoatInRace("Test", 1, Color.ALICEBLUE, "tt", 1);
|
||||
Leg testLeg = new Leg("test leg", 1);
|
||||
@@ -30,7 +29,7 @@ public class RaceStatusDecoderTest {
|
||||
RaceVisionByteEncoder raceVisionByteEncoder = new RaceVisionByteEncoder();
|
||||
|
||||
byte[] encodedRaceStatus = raceVisionByteEncoder.raceStatus(time, 1, 2, time2,
|
||||
(short)2, (short)3,4, boats);
|
||||
(short) 2, (short) 3, 4, boats);
|
||||
|
||||
RaceStatusDecoder decoderTest = new RaceStatusDecoder(encodedRaceStatus);
|
||||
|
||||
@@ -39,8 +38,8 @@ public class RaceStatusDecoderTest {
|
||||
Assert.assertEquals(1, decoderTest.getRace());
|
||||
Assert.assertEquals(2, decoderTest.getRaceState());
|
||||
Assert.assertEquals(time2, decoderTest.getStartTime());
|
||||
Assert.assertEquals((short)2, decoderTest.getRaceWindDir());
|
||||
Assert.assertEquals((short)3, decoderTest.getRaceWindSpeed());
|
||||
Assert.assertEquals((short) 2, decoderTest.getRaceWindDir());
|
||||
Assert.assertEquals((short) 3, decoderTest.getRaceWindSpeed());
|
||||
|
||||
Assert.assertEquals(0, decoderTest.getBoats().get(0).getBoatStatus());
|
||||
Assert.assertEquals(0, decoderTest.getBoats().get(0).getLegNumber());
|
||||
|
||||
@@ -2,7 +2,6 @@ package seng302.Networking.MessageDecoders;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.MessageDecoders.XMLMessageDecoder;
|
||||
import seng302.Networking.MessageEncoders.XMLMessageEncoder;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
@@ -14,18 +13,18 @@ import java.io.InputStreamReader;
|
||||
*/
|
||||
public class XMLMessageDecoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
try{
|
||||
public void getByteArrayTest() {
|
||||
try {
|
||||
StringBuilder xmlString;
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(
|
||||
this.getClass().getResourceAsStream(("../../../raceXML/Regatta.xml"))));
|
||||
String line;
|
||||
xmlString = new StringBuilder();
|
||||
while((line=br.readLine())!= null){
|
||||
while ((line = br.readLine()) != null) {
|
||||
xmlString.append(line.trim());
|
||||
}
|
||||
long time = System.currentTimeMillis();
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte)1, (short)1, time, (byte)7, (short)1, (short)xmlString.length(), xmlString.toString());
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte) 1, (short) 1, time, (byte) 7, (short) 1, (short) xmlString.length(), xmlString.toString());
|
||||
|
||||
byte[] encodedXML = testEncoder.encode();
|
||||
|
||||
@@ -33,15 +32,15 @@ public class XMLMessageDecoderTest {
|
||||
decoderXML.decode();
|
||||
|
||||
|
||||
Assert.assertEquals((byte)1, decoderXML.getMessageVersionNumber());
|
||||
Assert.assertEquals((short)1, decoderXML.getAckNumber());
|
||||
Assert.assertEquals((byte) 1, decoderXML.getMessageVersionNumber());
|
||||
Assert.assertEquals((short) 1, decoderXML.getAckNumber());
|
||||
Assert.assertEquals(time, decoderXML.getTimeStamp());
|
||||
Assert.assertEquals((byte)7, decoderXML.getXmlMsgSubType());
|
||||
Assert.assertEquals((short)1, decoderXML.getSequenceNumber());
|
||||
Assert.assertEquals((short)xmlString.length(), decoderXML.getXmlMsgLength());
|
||||
Assert.assertEquals((byte) 7, decoderXML.getXmlMsgSubType());
|
||||
Assert.assertEquals((short) 1, decoderXML.getSequenceNumber());
|
||||
Assert.assertEquals((short) xmlString.length(), decoderXML.getXmlMsgLength());
|
||||
Assert.assertEquals(xmlString.toString(), decoderXML.getXmlMessage());
|
||||
|
||||
}catch (IOException e){
|
||||
} catch (IOException e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,51 +4,53 @@ import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import seng302.Networking.MessageEncoders.XMLMessageEncoder;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
/**
|
||||
* Created by hba56 on 19/04/17.
|
||||
*/
|
||||
public class XMLMessageEncoderTest {
|
||||
@Test
|
||||
public void getByteArrayTest(){
|
||||
public void getByteArrayTest() {
|
||||
StringBuilder xmlString;
|
||||
try{
|
||||
try {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(
|
||||
this.getClass().getResourceAsStream(("../../raceXML/Regatta.xml"))));
|
||||
String line;
|
||||
xmlString = new StringBuilder();
|
||||
while((line=br.readLine())!= null){
|
||||
while ((line = br.readLine()) != null) {
|
||||
xmlString.append(line.trim());
|
||||
}
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte)1, (short)1, System.currentTimeMillis(), (byte)7, (short)1, (short)xmlString.length(), xmlString.toString());
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte) 1, (short) 1, System.currentTimeMillis(), (byte) 7, (short) 1, (short) xmlString.length(), xmlString.toString());
|
||||
|
||||
byte[] encodedXML = testEncoder.encode();
|
||||
|
||||
//1 + 2 + 6 + 1 + 2 + 2 + 374
|
||||
Assert.assertEquals(388, encodedXML.length);
|
||||
}catch (IOException e){
|
||||
} catch (IOException e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getByteArrayNullTest(){
|
||||
public void getByteArrayNullTest() {
|
||||
StringBuilder xmlString;
|
||||
try{
|
||||
try {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(
|
||||
this.getClass().getResourceAsStream(("../../raceXML/Regatta.xml"))));
|
||||
String line;
|
||||
xmlString = new StringBuilder();
|
||||
while((line=br.readLine())!= null){
|
||||
while ((line = br.readLine()) != null) {
|
||||
xmlString.append(line.trim());
|
||||
}
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte)1, (short)1, System.currentTimeMillis(), (byte)7, (short)1, (short)1, xmlString.toString());
|
||||
XMLMessageEncoder testEncoder = new XMLMessageEncoder((byte) 1, (short) 1, System.currentTimeMillis(), (byte) 7, (short) 1, (short) 1, xmlString.toString());
|
||||
|
||||
byte[] encodedXML = testEncoder.encode();
|
||||
|
||||
Assert.assertEquals(null, encodedXML);
|
||||
}catch (IOException e){
|
||||
} catch (IOException e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
<Settings>
|
||||
|
||||
<RaceBoatType Type="AC45" />
|
||||
<RaceBoatType Type="AC45"/>
|
||||
|
||||
<BoatDimension BoatLength="14.019" HullLength="13.449" />
|
||||
<BoatDimension BoatLength="14.019" HullLength="13.449"/>
|
||||
|
||||
<ZoneSize MarkZoneSize="40.347" CourseZoneSize="40.347" />
|
||||
<ZoneSize MarkZoneSize="40.347" CourseZoneSize="40.347"/>
|
||||
|
||||
<ZoneLimits Limit1="200" Limit2="100" Limit3="40.347" Limit4="0" Limit5="-100" />
|
||||
<ZoneLimits Limit1="200" Limit2="100" Limit3="40.347" Limit4="0" Limit5="-100"/>
|
||||
|
||||
</Settings>
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
<Vertices>
|
||||
|
||||
<Vtx Seq="1" Y="0" X="-2.659" />
|
||||
<Vtx Seq="1" Y="0" X="-2.659"/>
|
||||
|
||||
<Vtx Seq="2" Y="18.359" X="-2.659" />
|
||||
<Vtx Seq="2" Y="18.359" X="-2.659"/>
|
||||
|
||||
<Vtx Seq="3" Y="18.359" X="2.659" />
|
||||
<Vtx Seq="3" Y="18.359" X="2.659"/>
|
||||
|
||||
<Vtx Seq="4" Y="0" X="2.659" />
|
||||
<Vtx Seq="4" Y="0" X="2.659"/>
|
||||
|
||||
</Vertices>
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
|
||||
<Vertices>
|
||||
|
||||
<Vtx Seq="1" Y="0" X="-1.278" />
|
||||
<Vtx Seq="1" Y="0" X="-1.278"/>
|
||||
|
||||
<Vtx Seq="2" Y="8.876" X="-1.278" />
|
||||
<Vtx Seq="2" Y="8.876" X="-1.278"/>
|
||||
|
||||
<Vtx Seq="3" Y="8.876" X="1.278" />
|
||||
<Vtx Seq="3" Y="8.876" X="1.278"/>
|
||||
|
||||
<Vtx Seq="4" Y="0" X="1.278" />
|
||||
<Vtx Seq="4" Y="0" X="1.278"/>
|
||||
|
||||
</Vertices>
|
||||
|
||||
@@ -56,13 +56,13 @@
|
||||
|
||||
<Vertices>
|
||||
|
||||
<Vtx Seq="1" Y="0" X="-1.1" />
|
||||
<Vtx Seq="1" Y="0" X="-1.1"/>
|
||||
|
||||
<Vtx Seq="2" Y="8.3" X="-1.1" />
|
||||
<Vtx Seq="2" Y="8.3" X="-1.1"/>
|
||||
|
||||
<Vtx Seq="3" Y="8.3" X="1.1" />
|
||||
<Vtx Seq="3" Y="8.3" X="1.1"/>
|
||||
|
||||
<Vtx Seq="4" Y="0" X="1.1" />
|
||||
<Vtx Seq="4" Y="0" X="1.1"/>
|
||||
|
||||
</Vertices>
|
||||
|
||||
@@ -72,13 +72,13 @@
|
||||
|
||||
<Vertices>
|
||||
|
||||
<Vtx Seq="1" Y="0" X="-0.75" />
|
||||
<Vtx Seq="1" Y="0" X="-0.75"/>
|
||||
|
||||
<Vtx Seq="2" Y="3" X="-0.75" />
|
||||
<Vtx Seq="2" Y="3" X="-0.75"/>
|
||||
|
||||
<Vtx Seq="3" Y="3" X="0.75" />
|
||||
<Vtx Seq="3" Y="3" X="0.75"/>
|
||||
|
||||
<Vtx Seq="4" Y="0" X="0.75" />
|
||||
<Vtx Seq="4" Y="0" X="0.75"/>
|
||||
|
||||
</Vertices>
|
||||
|
||||
@@ -88,83 +88,83 @@
|
||||
|
||||
<Vertices>
|
||||
|
||||
<Vtx Seq="1" Y="0" X="-3.46" />
|
||||
<Vtx Seq="1" Y="0" X="-3.46"/>
|
||||
|
||||
<Vtx Seq="2" Y="13.449" X="-3.46" />
|
||||
<Vtx Seq="2" Y="13.449" X="-3.46"/>
|
||||
|
||||
<Vtx Seq="3" Y="14.019" X="0" />
|
||||
<Vtx Seq="3" Y="14.019" X="0"/>
|
||||
|
||||
<Vtx Seq="4" Y="13.449" X="3.46" />
|
||||
<Vtx Seq="4" Y="13.449" X="3.46"/>
|
||||
|
||||
<Vtx Seq="5" Y="0" X="3.46" />
|
||||
<Vtx Seq="5" Y="0" X="3.46"/>
|
||||
|
||||
</Vertices>
|
||||
|
||||
<Catamaran>
|
||||
|
||||
<Vtx Seq="1" Y="1.769" X="-2.752" />
|
||||
<Vtx Seq="1" Y="1.769" X="-2.752"/>
|
||||
|
||||
<Vtx Seq="2" Y="0" X="-2.813" />
|
||||
<Vtx Seq="2" Y="0" X="-2.813"/>
|
||||
|
||||
<Vtx Seq="3" Y="0" X="-3.34" />
|
||||
<Vtx Seq="3" Y="0" X="-3.34"/>
|
||||
|
||||
<Vtx Seq="4" Y="5.351" X="-3.46" />
|
||||
<Vtx Seq="4" Y="5.351" X="-3.46"/>
|
||||
|
||||
<Vtx Seq="5" Y="10.544" X="-3.387" />
|
||||
<Vtx Seq="5" Y="10.544" X="-3.387"/>
|
||||
|
||||
<Vtx Seq="6" Y="13.449" X="-3.075" />
|
||||
<Vtx Seq="6" Y="13.449" X="-3.075"/>
|
||||
|
||||
<Vtx Seq="7" Y="10.851" X="-2.793" />
|
||||
<Vtx Seq="7" Y="10.851" X="-2.793"/>
|
||||
|
||||
<Vtx Seq="8" Y="6.669" X="-2.699" />
|
||||
<Vtx Seq="8" Y="6.669" X="-2.699"/>
|
||||
|
||||
<Vtx Seq="9" Y="6.669" X="2.699" />
|
||||
<Vtx Seq="9" Y="6.669" X="2.699"/>
|
||||
|
||||
<Vtx Seq="10" Y="10.851" X="2.793" />
|
||||
<Vtx Seq="10" Y="10.851" X="2.793"/>
|
||||
|
||||
<Vtx Seq="11" Y="13.449" X="3.075" />
|
||||
<Vtx Seq="11" Y="13.449" X="3.075"/>
|
||||
|
||||
<Vtx Seq="12" Y="10.544" X="3.387" />
|
||||
<Vtx Seq="12" Y="10.544" X="3.387"/>
|
||||
|
||||
<Vtx Seq="13" Y="5.351" X="3.46" />
|
||||
<Vtx Seq="13" Y="5.351" X="3.46"/>
|
||||
|
||||
<Vtx Seq="14" Y="0" X="3.34" />
|
||||
<Vtx Seq="14" Y="0" X="3.34"/>
|
||||
|
||||
<Vtx Seq="15" Y="0" X="2.813" />
|
||||
<Vtx Seq="15" Y="0" X="2.813"/>
|
||||
|
||||
<Vtx Seq="16" Y="1.769" X="2.752" />
|
||||
<Vtx Seq="16" Y="1.769" X="2.752"/>
|
||||
|
||||
</Catamaran>
|
||||
|
||||
<Bowsprit>
|
||||
|
||||
<Vtx Seq="1" Y="6.669" X="-0.2" />
|
||||
<Vtx Seq="1" Y="6.669" X="-0.2"/>
|
||||
|
||||
<Vtx Seq="2" Y="11.377" X="-0.2" />
|
||||
<Vtx Seq="2" Y="11.377" X="-0.2"/>
|
||||
|
||||
<Vtx Seq="3" Y="14.019" X="0" />
|
||||
<Vtx Seq="3" Y="14.019" X="0"/>
|
||||
|
||||
<Vtx Seq="4" Y="11.377" X="0.2" />
|
||||
<Vtx Seq="4" Y="11.377" X="0.2"/>
|
||||
|
||||
<Vtx Seq="5" Y="6.669" X="0.2" />
|
||||
<Vtx Seq="5" Y="6.669" X="0.2"/>
|
||||
|
||||
</Bowsprit>
|
||||
|
||||
<Trampoline>
|
||||
|
||||
<Vtx Seq="1" Y="2" X="-2.699" />
|
||||
<Vtx Seq="1" Y="2" X="-2.699"/>
|
||||
|
||||
<Vtx Seq="2" Y="6.438" X="-2.699" />
|
||||
<Vtx Seq="2" Y="6.438" X="-2.699"/>
|
||||
|
||||
<Vtx Seq="3" Y="6.438" X="2.699" />
|
||||
<Vtx Seq="3" Y="6.438" X="2.699"/>
|
||||
|
||||
<Vtx Seq="4" Y="2" X="2.699" />
|
||||
<Vtx Seq="4" Y="2" X="2.699"/>
|
||||
|
||||
</Trampoline>
|
||||
|
||||
</BoatShape>
|
||||
|
||||
<BoatShape ShapeID="5" />
|
||||
<BoatShape ShapeID="5"/>
|
||||
|
||||
</BoatShapes>
|
||||
|
||||
@@ -174,9 +174,9 @@
|
||||
|
||||
BoatName="Regardless">
|
||||
|
||||
<GPSposition Z="6.840" Y="7.800" X="0.000" />
|
||||
<GPSposition Z="6.840" Y="7.800" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="7.800" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="7.800" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
@@ -184,9 +184,9 @@
|
||||
|
||||
BoatName="Constellation">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
@@ -194,17 +194,17 @@
|
||||
|
||||
BoatName="Mischief">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
<Boat Type="Mark" SourceID="124" ShapeID="1" HullNum="LC03" ShortName="Atalanta" BoatName="Atalanta">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
@@ -212,9 +212,9 @@
|
||||
|
||||
BoatName="Volunteer">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
@@ -222,17 +222,17 @@
|
||||
|
||||
BoatName="Defender">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
<Boat Type="Mark" SourceID="128" ShapeID="1" HullNum="LC01" ShortName="Shamrock" BoatName="Shamrock">
|
||||
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000" />
|
||||
<GPSposition Z="5.334" Y="3.804" X="0.000"/>
|
||||
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000" />
|
||||
<FlagPosition Z="0.000" Y="3.426" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
@@ -240,9 +240,9 @@
|
||||
|
||||
BoatName="TEAM KOREA" Country="KOR">
|
||||
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
|
||||
</Boat>
|
||||
|
||||
|
||||
@@ -4,116 +4,116 @@
|
||||
<Modified>2017-04-19T15:49:40+1200</Modified>
|
||||
<Version>1</Version>
|
||||
<Settings>
|
||||
<RaceBoatType Type="AC45" />
|
||||
<BoatDimension BoatLength="14.019" HullLength="13.449" />
|
||||
<ZoneSize MarkZoneSize="40.347" CourseZoneSize="40.347" />
|
||||
<ZoneLimits Limit1="200" Limit2="100" Limit3="40.347" Limit4="0" Limit5="-100" />
|
||||
<RaceBoatType Type="AC45"/>
|
||||
<BoatDimension BoatLength="14.019" HullLength="13.449"/>
|
||||
<ZoneSize MarkZoneSize="40.347" CourseZoneSize="40.347"/>
|
||||
<ZoneLimits Limit1="200" Limit2="100" Limit3="40.347" Limit4="0" Limit5="-100"/>
|
||||
</Settings>
|
||||
<BoatShapes>
|
||||
<BoatShape ShapeID="0">
|
||||
<Vertices>
|
||||
<Vtx Seq="1" Y="0" X="-2.659" />
|
||||
<Vtx Seq="2" Y="18.359" X="-2.659" />
|
||||
<Vtx Seq="3" Y="18.359" X="2.659" />
|
||||
<Vtx Seq="4" Y="0" X="2.659" />
|
||||
<Vtx Seq="1" Y="0" X="-2.659"/>
|
||||
<Vtx Seq="2" Y="18.359" X="-2.659"/>
|
||||
<Vtx Seq="3" Y="18.359" X="2.659"/>
|
||||
<Vtx Seq="4" Y="0" X="2.659"/>
|
||||
</Vertices>
|
||||
</BoatShape>
|
||||
<BoatShape ShapeID="1">
|
||||
<Vertices>
|
||||
<Vtx Seq="1" Y="0" X="-1.278" />
|
||||
<Vtx Seq="2" Y="8.876" X="-1.278" />
|
||||
<Vtx Seq="3" Y="8.876" X="1.278" />
|
||||
<Vtx Seq="4" Y="0" X="1.278" />
|
||||
<Vtx Seq="1" Y="0" X="-1.278"/>
|
||||
<Vtx Seq="2" Y="8.876" X="-1.278"/>
|
||||
<Vtx Seq="3" Y="8.876" X="1.278"/>
|
||||
<Vtx Seq="4" Y="0" X="1.278"/>
|
||||
</Vertices>
|
||||
</BoatShape>
|
||||
<BoatShape ShapeID="2">
|
||||
<Vertices>
|
||||
<Vtx Seq="1" Y="0" X="-1.1" />
|
||||
<Vtx Seq="2" Y="8.3" X="-1.1" />
|
||||
<Vtx Seq="3" Y="8.3" X="1.1" />
|
||||
<Vtx Seq="4" Y="0" X="1.1" />
|
||||
<Vtx Seq="1" Y="0" X="-1.1"/>
|
||||
<Vtx Seq="2" Y="8.3" X="-1.1"/>
|
||||
<Vtx Seq="3" Y="8.3" X="1.1"/>
|
||||
<Vtx Seq="4" Y="0" X="1.1"/>
|
||||
</Vertices>
|
||||
</BoatShape>
|
||||
<BoatShape ShapeID="3">
|
||||
<Vertices>
|
||||
<Vtx Seq="1" Y="0" X="-0.75" />
|
||||
<Vtx Seq="2" Y="3" X="-0.75" />
|
||||
<Vtx Seq="3" Y="3" X="0.75" />
|
||||
<Vtx Seq="4" Y="0" X="0.75" />
|
||||
<Vtx Seq="1" Y="0" X="-0.75"/>
|
||||
<Vtx Seq="2" Y="3" X="-0.75"/>
|
||||
<Vtx Seq="3" Y="3" X="0.75"/>
|
||||
<Vtx Seq="4" Y="0" X="0.75"/>
|
||||
</Vertices>
|
||||
</BoatShape>
|
||||
<BoatShape ShapeID="4">
|
||||
<Vertices>
|
||||
<Vtx Seq="1" Y="0" X="-3.46" />
|
||||
<Vtx Seq="2" Y="13.449" X="-3.46" />
|
||||
<Vtx Seq="3" Y="14.019" X="0" />
|
||||
<Vtx Seq="4" Y="13.449" X="3.46" />
|
||||
<Vtx Seq="5" Y="0" X="3.46" />
|
||||
<Vtx Seq="1" Y="0" X="-3.46"/>
|
||||
<Vtx Seq="2" Y="13.449" X="-3.46"/>
|
||||
<Vtx Seq="3" Y="14.019" X="0"/>
|
||||
<Vtx Seq="4" Y="13.449" X="3.46"/>
|
||||
<Vtx Seq="5" Y="0" X="3.46"/>
|
||||
</Vertices>
|
||||
<Catamaran>
|
||||
<Vtx Seq="1" Y="1.769" X="-2.752" />
|
||||
<Vtx Seq="2" Y="0" X="-2.813" />
|
||||
<Vtx Seq="3" Y="0" X="-3.34" />
|
||||
<Vtx Seq="4" Y="5.351" X="-3.46" />
|
||||
<Vtx Seq="5" Y="10.544" X="-3.387" />
|
||||
<Vtx Seq="6" Y="13.449" X="-3.075" />
|
||||
<Vtx Seq="7" Y="10.851" X="-2.793" />
|
||||
<Vtx Seq="8" Y="6.669" X="-2.699" />
|
||||
<Vtx Seq="9" Y="6.669" X="2.699" />
|
||||
<Vtx Seq="10" Y="10.851" X="2.793" />
|
||||
<Vtx Seq="11" Y="13.449" X="3.075" />
|
||||
<Vtx Seq="12" Y="10.544" X="3.387" />
|
||||
<Vtx Seq="13" Y="5.351" X="3.46" />
|
||||
<Vtx Seq="14" Y="0" X="3.34" />
|
||||
<Vtx Seq="15" Y="0" X="2.813" />
|
||||
<Vtx Seq="16" Y="1.769" X="2.752" />
|
||||
<Vtx Seq="1" Y="1.769" X="-2.752"/>
|
||||
<Vtx Seq="2" Y="0" X="-2.813"/>
|
||||
<Vtx Seq="3" Y="0" X="-3.34"/>
|
||||
<Vtx Seq="4" Y="5.351" X="-3.46"/>
|
||||
<Vtx Seq="5" Y="10.544" X="-3.387"/>
|
||||
<Vtx Seq="6" Y="13.449" X="-3.075"/>
|
||||
<Vtx Seq="7" Y="10.851" X="-2.793"/>
|
||||
<Vtx Seq="8" Y="6.669" X="-2.699"/>
|
||||
<Vtx Seq="9" Y="6.669" X="2.699"/>
|
||||
<Vtx Seq="10" Y="10.851" X="2.793"/>
|
||||
<Vtx Seq="11" Y="13.449" X="3.075"/>
|
||||
<Vtx Seq="12" Y="10.544" X="3.387"/>
|
||||
<Vtx Seq="13" Y="5.351" X="3.46"/>
|
||||
<Vtx Seq="14" Y="0" X="3.34"/>
|
||||
<Vtx Seq="15" Y="0" X="2.813"/>
|
||||
<Vtx Seq="16" Y="1.769" X="2.752"/>
|
||||
</Catamaran>
|
||||
<Bowsprit>
|
||||
<Vtx Seq="1" Y="6.669" X="-0.2" />
|
||||
<Vtx Seq="2" Y="11.377" X="-0.2" />
|
||||
<Vtx Seq="3" Y="14.019" X="0" />
|
||||
<Vtx Seq="4" Y="11.377" X="0.2" />
|
||||
<Vtx Seq="5" Y="6.669" X="0.2" />
|
||||
<Vtx Seq="1" Y="6.669" X="-0.2"/>
|
||||
<Vtx Seq="2" Y="11.377" X="-0.2"/>
|
||||
<Vtx Seq="3" Y="14.019" X="0"/>
|
||||
<Vtx Seq="4" Y="11.377" X="0.2"/>
|
||||
<Vtx Seq="5" Y="6.669" X="0.2"/>
|
||||
</Bowsprit>
|
||||
<Trampoline>
|
||||
<Vtx Seq="1" Y="2" X="-2.699" />
|
||||
<Vtx Seq="2" Y="6.438" X="-2.699" />
|
||||
<Vtx Seq="3" Y="6.438" X="2.699" />
|
||||
<Vtx Seq="4" Y="2" X="2.699" />
|
||||
<Vtx Seq="1" Y="2" X="-2.699"/>
|
||||
<Vtx Seq="2" Y="6.438" X="-2.699"/>
|
||||
<Vtx Seq="3" Y="6.438" X="2.699"/>
|
||||
<Vtx Seq="4" Y="2" X="2.699"/>
|
||||
</Trampoline>
|
||||
</BoatShape>
|
||||
<BoatShape ShapeID="5" />
|
||||
<BoatShape ShapeID="5"/>
|
||||
</BoatShapes>
|
||||
<Boats>>
|
||||
<Boat Type="Yacht" SourceID="101" ShapeID="4" HullNum="AC4501" ShortName="USA"
|
||||
BoatName="ORACLE TEAM USA" Country="USA">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
<Boat Type="Yacht" SourceID="102" ShapeID="4" HullNum="AC4502" ShortName="GBR"
|
||||
BoatName="Land Rover BAR" Country="United Kingdom">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
<Boat Type="Yacht" SourceID="103" ShapeID="4" HullNum="AC4503" ShortName="JPN"
|
||||
BoatName="SoftBank Team Japan" Country="Japan">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
<Boat Type="Yacht" SourceID="104" ShapeID="4" HullNum="AC4504" ShortName="FRA"
|
||||
BoatName="Groupama Team France" Country="France">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
<Boat Type="Yacht" SourceID="105" ShapeID="4" HullNum="AC4505" ShortName="SWE"
|
||||
BoatName="Artemis Racing" Country="Sweden">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
<Boat Type="Yacht" SourceID="106" ShapeID="4" HullNum="AC4506" ShortName="NZL"
|
||||
BoatName="Emirates Team New Zealand" Country="New Zealand">
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001" />
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000" />
|
||||
<GPSposition Z="1.738" Y="0.625" X="0.001"/>
|
||||
<MastTop Z="21.496" Y="4.233" X="0.000"/>
|
||||
</Boat>
|
||||
</Boats>
|
||||
</BoatConfig>
|
||||
@@ -2,43 +2,43 @@
|
||||
<Race>
|
||||
<RaceID>17041901</RaceID>
|
||||
<RaceType>Fleet</RaceType>
|
||||
<CreationTimeDate>2017-04-19T15:30:00+1200</CreationTimeDate >
|
||||
<RaceStartTime Time="2019-06-01T13:30:00-0400" Postpone="false" />
|
||||
<CreationTimeDate>2017-04-19T15:30:00+1200</CreationTimeDate>
|
||||
<RaceStartTime Time="2019-06-01T13:30:00-0400" Postpone="false"/>
|
||||
<Participants>
|
||||
<Yacht SourceID="001" Entry="Port" />
|
||||
<Yacht SourceID="002" Entry="Port" />
|
||||
<Yacht SourceID="003" Entry="Port" />
|
||||
<Yacht SourceID="004" Entry="Port" />
|
||||
<Yacht SourceID="005" Entry="Port" />
|
||||
<Yacht SourceID="006" Entry="Port" />
|
||||
<Yacht SourceID="001" Entry="Port"/>
|
||||
<Yacht SourceID="002" Entry="Port"/>
|
||||
<Yacht SourceID="003" Entry="Port"/>
|
||||
<Yacht SourceID="004" Entry="Port"/>
|
||||
<Yacht SourceID="005" Entry="Port"/>
|
||||
<Yacht SourceID="006" Entry="Port"/>
|
||||
</Participants>
|
||||
<Course>
|
||||
<CompoundMark CompoundMarkID="1" Name="StartLine">
|
||||
<Mark SeqID="1" Name="PRO" TargetLat="32.296577" TargetLng="-64.854304" SourceID="101" />
|
||||
<Mark SeqID="2" Name="PIN" TargetLat="32.293771" TargetLng="-64.855242" SourceID="102" />
|
||||
<Mark SeqID="1" Name="PRO" TargetLat="32.296577" TargetLng="-64.854304" SourceID="101"/>
|
||||
<Mark SeqID="2" Name="PIN" TargetLat="32.293771" TargetLng="-64.855242" SourceID="102"/>
|
||||
</CompoundMark>
|
||||
<CompoundMark CompoundMarkID="2" Name="M1">
|
||||
<Mark Name="M1" TargetLat="32.293039" TargetLng="-64.843983" SourceID="103" />
|
||||
<Mark Name="M1" TargetLat="32.293039" TargetLng="-64.843983" SourceID="103"/>
|
||||
</CompoundMark>
|
||||
<CompoundMark CompoundMarkID="3" Name="WindwardGate">
|
||||
<Mark SeqID="1" Name="G1" TargetLat="32.284680" TargetLng="-64.850045" SourceID="104" />
|
||||
<Mark SeqID="2" Name="G2" TargetLat="32.280164" TargetLng="-64.847591" SourceID="105" />
|
||||
<Mark SeqID="1" Name="G1" TargetLat="32.284680" TargetLng="-64.850045" SourceID="104"/>
|
||||
<Mark SeqID="2" Name="G2" TargetLat="32.280164" TargetLng="-64.847591" SourceID="105"/>
|
||||
</CompoundMark>
|
||||
<CompoundMark CompoundMarkID="4" Name="LeewardGate">
|
||||
<Mark SeqID="1" Name="G1" TargetLat="32.309693" TargetLng="-64.835249" SourceID="106" />
|
||||
<Mark SeqID="2" Name="G2" TargetLat="32.308046" TargetLng="-64.831785" SourceID="107" />
|
||||
<Mark SeqID="1" Name="G1" TargetLat="32.309693" TargetLng="-64.835249" SourceID="106"/>
|
||||
<Mark SeqID="2" Name="G2" TargetLat="32.308046" TargetLng="-64.831785" SourceID="107"/>
|
||||
</CompoundMark>
|
||||
<CompoundMark CompoundMarkID="5" Name="FinishLine">
|
||||
<Mark SeqID="1" Name="PRO" TargetLat="32.317379" TargetLng="-64.839291" SourceID="108" />
|
||||
<Mark SeqID="2" Name="PIN" TargetLat="32.317257" TargetLng="-64.836260" SourceID="109" />
|
||||
<Mark SeqID="1" Name="PRO" TargetLat="32.317379" TargetLng="-64.839291" SourceID="108"/>
|
||||
<Mark SeqID="2" Name="PIN" TargetLat="32.317257" TargetLng="-64.836260" SourceID="109"/>
|
||||
</CompoundMark>
|
||||
</Course>
|
||||
<CompoundMarkSequence>
|
||||
<Corner SeqID="1" CompoundMarkID="1" Rounding="SP" ZoneSize="3" />
|
||||
<Corner SeqID="2" CompoundMarkID="2" Rounding="Port" ZoneSize="3" />
|
||||
<Corner SeqID="3" CompoundMarkID="3" Rounding="Port" ZoneSize="3" />
|
||||
<Corner SeqID="4" CompoundMarkID="4" Rounding="Port" ZoneSize="3" />
|
||||
<Corner SeqID="3" CompoundMarkID="3" Rounding="Port" ZoneSize="3" />
|
||||
<Corner SeqID="1" CompoundMarkID="1" Rounding="SP" ZoneSize="3"/>
|
||||
<Corner SeqID="2" CompoundMarkID="2" Rounding="Port" ZoneSize="3"/>
|
||||
<Corner SeqID="3" CompoundMarkID="3" Rounding="Port" ZoneSize="3"/>
|
||||
<Corner SeqID="4" CompoundMarkID="4" Rounding="Port" ZoneSize="3"/>
|
||||
<Corner SeqID="3" CompoundMarkID="3" Rounding="Port" ZoneSize="3"/>
|
||||
<Corner SeqID="5" CompoundMarkID="5" Rounding="SP" ZoneSize="3"/>
|
||||
</CompoundMarkSequence>
|
||||
<CourseLimit>
|
||||
|
||||
Reference in New Issue
Block a user