|
|
|
@ -1,5 +1,8 @@
|
|
|
|
package seng302.Model;
|
|
|
|
package seng302.Model;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javafx.collections.FXCollections;
|
|
|
|
|
|
|
|
import javafx.collections.ObservableList;
|
|
|
|
|
|
|
|
import javafx.scene.paint.Color;
|
|
|
|
import org.junit.Ignore;
|
|
|
|
import org.junit.Ignore;
|
|
|
|
import org.junit.Test;
|
|
|
|
import org.junit.Test;
|
|
|
|
import seng302.GPSCoordinate;
|
|
|
|
import seng302.GPSCoordinate;
|
|
|
|
@ -8,6 +11,8 @@ import seng302.Model.ConstantVelocityRace;
|
|
|
|
import seng302.Model.Leg;
|
|
|
|
import seng302.Model.Leg;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
|
|
|
import java.util.Observable;
|
|
|
|
|
|
|
|
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
|
|
|
|
|
|
|
|
@ -41,4 +46,24 @@ public class RaceTest {
|
|
|
|
// ConstantVelocityRace race = new ConstantVelocityRace(boats, legs);
|
|
|
|
// ConstantVelocityRace race = new ConstantVelocityRace(boats, legs);
|
|
|
|
// race.run();
|
|
|
|
// race.run();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
public void finishOrderDeterminedByVelocity() {
|
|
|
|
|
|
|
|
BoatInRace[] boats = {
|
|
|
|
|
|
|
|
new BoatInRace("NZ", 2000, Color.BEIGE, "NZ"),
|
|
|
|
|
|
|
|
new BoatInRace("AU", 2800, Color.BEIGE, "AU")
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
ArrayList<Leg> legs = new ArrayList<>();
|
|
|
|
|
|
|
|
legs.add(new Leg("Start", new GPSCoordinate(32.296577, -64.854304),new GPSCoordinate(32.293039, -64.843983),0));
|
|
|
|
|
|
|
|
legs.add(new Leg("Start", new GPSCoordinate(32.293039, -64.843983),new GPSCoordinate(32.284680, -64.850045),1));
|
|
|
|
|
|
|
|
Race race = new ConstantVelocityRace(boats, legs);
|
|
|
|
|
|
|
|
race.disableTimer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Boats should finish in an order determined by their velocity
|
|
|
|
|
|
|
|
Arrays.sort(boats, (a,b) -> (int)(b.getVelocity()-a.getVelocity()));
|
|
|
|
|
|
|
|
race.run();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < boats.length; i++)
|
|
|
|
|
|
|
|
assertTrue(boats[i].equals(race.getStartingBoats().get(i)));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|