Refactor mark related classes.

- Mark is an abstract class which containing its name and type
- Single Mark is a sub class of Mark which containing only one GPS location
- Gate Mark is a sub class of Mark which containing two Single Marks

#refactor #fix #story[10] #story[11] #story[12]
This commit is contained in:
Haoming Yin
2017-03-17 15:21:04 +13:00
parent d6fe155d4d
commit 0b3ebf229f
11 changed files with 239 additions and 68 deletions
+4 -4
View File
@@ -3,7 +3,7 @@ package seng302;
import org.junit.Test;
import seng302.models.Boat;
import seng302.models.Event;
import seng302.models.Mark;
import seng302.models.mark.SingleMark;
import static org.junit.Assert.assertEquals;
@@ -16,14 +16,14 @@ public class EventTest {
@Test
public void getTimeString() throws Exception {
Boat boat = new Boat("testBoat");
Event event = new Event(1231242.2, boat, new Mark("mark1"), new Mark("mark2"));
Event event = new Event(1231242.2, boat, new SingleMark("mark1"), new SingleMark("mark2"));
assertEquals("20:31:242", event.getTimeString());
}
@Test
public void testBoatHeading() throws Exception {
Boat boat = new Boat("testBoat");
Event event = new Event(1231242.2, boat, new Mark("mark1", 142.5, 122.1), new Mark("mark2", 121.9,99.2));
Event event = new Event(1231242.2, boat, new SingleMark("mark1", 142.5, 122.1), new SingleMark("mark2", 121.9,99.2));
assertEquals(event.getBoatHeading(), 221.9733862944651, 1e-15);
}
@@ -31,7 +31,7 @@ public class EventTest {
@Test
public void testDistanceBetweenMarks() throws Exception {
Boat boat = new Boat("testBoat");
Event event = new Event(1231242.2, boat, new Mark("mark1", 142.5, 122.1), new Mark("mark2", 121.9,99.2));
Event event = new Event(1231242.2, boat, new SingleMark("mark1", 142.5, 122.1), new SingleMark("mark2", 121.9,99.2));
assertEquals(event.getDistanceBetweenMarks(), 339059.653830461, 1e-15);
}