diff --git a/doc/examples/course.xml b/doc/examples/course.xml index 768a047c..49e17923 100644 --- a/doc/examples/course.xml +++ b/doc/examples/course.xml @@ -1,52 +1,62 @@ + + - Start + Start - 32.296038 - -64.854401 + Start1 + 32.296038 + -64.854401 - 32.293834 - -64.855195 + Start2 + 32.293834 + -64.855195 Mid Mark - 32.292881 - -64.843231 + 32.292881 + -64.843231 Leeward Gate - 32.283808 - -64.850012 + Leeward Gate1 + 32.283808 + -64.850012 - 32.283216 - -64.847686 + Leeward Gate2 + 32.283216 + -64.847686 Windward Gate - 32.309908 - -64.833665 + Windward Gate1 + 32.309908 + -64.833665 - 32.309158 - -64.830834 + Windward Gate2 + 32.309158 + -64.830834 - + Finish - 32.318439 - -64.837367 + Finish1 + 32.318439 + -64.837367 - 32.318303 - -64.834974 + Finish2 + 32.318303 + -64.834974 diff --git a/src/test/java/seng302/models/parsers/CourseParserTest.java b/src/test/java/seng302/models/parsers/CourseParserTest.java new file mode 100644 index 00000000..20046325 --- /dev/null +++ b/src/test/java/seng302/models/parsers/CourseParserTest.java @@ -0,0 +1,66 @@ +package seng302.models.parsers; + +import org.junit.Before; +import org.junit.Test; +import seng302.models.GateMark; +import seng302.models.Mark; + +import java.util.ArrayList; + +import static org.junit.Assert.*; + +/** + * To test if course parser works as expected. + * Created by Haoming on 17/03/17. + */ +public class CourseParserTest { + + private CourseParser cp; + + @Before + public void initializeParser() throws Exception { + cp = new CourseParser("doc/examples/course.xml"); + } + + @Test + public void getGates() throws Exception { + ArrayList gateMarks = cp.getGates(); + assertEquals(4, gateMarks.size()); + + assertEquals("Start", gateMarks.get(0).getName()); + assertEquals("Leeward Gate", gateMarks.get(1).getName()); + assertEquals("Windward Gate", gateMarks.get(2).getName()); + assertEquals("Finish", gateMarks.get(3).getName()); + + assertEquals("Start1", gateMarks.get(0).getMark1().getName()); + assertEquals("Start2", gateMarks.get(0).getMark2().getName()); + assertEquals(32.293834, gateMarks.get(0).getMark2().getLatitude(), 0.00000001); + assertEquals(-64.855195, gateMarks.get(0).getMark2().getLongitude(), 0.00000001); + + assertEquals("Finish1", gateMarks.get(3).getMark1().getName()); + assertEquals("Finish2", gateMarks.get(3).getMark2().getName()); + assertEquals(32.318303, gateMarks.get(3).getMark2().getLatitude(), 0.00000001); + assertEquals(-64.834974, gateMarks.get(3).getMark2().getLongitude(), 0.00000001); + } + + @Test + public void getMarks() throws Exception { + ArrayList marks = cp.getMarks(); + assertEquals(1, marks.size()); + assertEquals("Mid Mark", marks.get(0).getName()); + } + + @Test + public void getOrder() throws Exception { + ArrayList order = cp.getOrder(); + + assertEquals(6, order.size()); + assertEquals("Start", order.get(0)); + assertEquals("Mid Mark", order.get(1)); + assertEquals("Leeward Gate", order.get(2)); + assertEquals("Windward Gate", order.get(3)); + assertEquals("Leeward Gate", order.get(4)); + assertEquals("Finish", order.get(5)); + } + +} \ No newline at end of file