mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-15 08:41:01 +00:00
Implemented the optional reference of leaderboards to a coursearea of an
event
This commit is contained in:
1 parent
339f930a83
commit
0cb94ad321
44 files changed
+5917
-5667
No files matched your search
+231
-231
@@ -1,231 +1,231 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.junit.client.GWTTestCase;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ExpandableSortableColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDTO;
|
||||
|
||||
public class GwtTestCaseColumnToggling extends GWTTestCase {
|
||||
|
||||
//These objects should be created by calling GWT.create(Class c);
|
||||
private LeaderboardPanelMock leaderboardPanel;
|
||||
private MyTestSailingServiceAsync service;
|
||||
private StringMessages sc;
|
||||
|
||||
//Test data.
|
||||
private final String LEADERBOARD_NAME = "test";
|
||||
private static final String DEFAULT_FLEET_NAME = "Default";
|
||||
private final String COLUMN1_NAME = "r1";
|
||||
private final String EVENT_NAME = "Sailing Team Germany (STG)";
|
||||
protected static final boolean tractracTunnel = true; // Boolean.valueOf(System.getProperty("tractrac.tunnel", "false"));
|
||||
protected static final String tractracTunnelHost = "10.18.206.73"; // System.getProperty("tractrac.tunnel.host", "localhost");
|
||||
private final String JSON_URL= "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php";
|
||||
private final String TRACKED_RACE = "schwerttest";
|
||||
|
||||
|
||||
private LeaderboardDTO leaderboard;
|
||||
private TracTracRaceRecordDTO rrDao;
|
||||
private ExpandableSortableColumn<LeaderboardRowDTO> rc;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void gwtSetUp() throws Exception {
|
||||
super.gwtSetUp();
|
||||
service = GWT.create(MyTestSailingService.class);
|
||||
sc = GWT.create(StringMessages.class);
|
||||
}
|
||||
|
||||
public void testColumnDeleting() {
|
||||
delayTestFinish(1000000);
|
||||
|
||||
listRacesInEvent();
|
||||
|
||||
}
|
||||
|
||||
private void listRacesInEvent(){
|
||||
service.listTracTracRacesInEvent(JSON_URL, new AsyncCallback<Pair<String,List<TracTracRaceRecordDTO>>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to list races." + caught.getLocalizedMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Pair<String, List<TracTracRaceRecordDTO>> result) {
|
||||
System.out.println("Listed races.");
|
||||
for (TracTracRaceRecordDTO rr : result.getB()){
|
||||
if (rr.name.equals(TRACKED_RACE)){
|
||||
rrDao = rr;
|
||||
}
|
||||
}
|
||||
//assertNotNull("rrDao != null",rrDao);
|
||||
assertNotNull(rrDao);
|
||||
trackRace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void trackRace(){
|
||||
service.trackWithTracTrac(/* regattaToAddTo */null, Collections.singleton(rrDao), tractracTunnel ? "tcp://" + tractracTunnelHost + ":"
|
||||
+ TracTracConnectionConstants.PORT_TUNNEL_LIVE : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":"
|
||||
+ TracTracConnectionConstants.PORT_LIVE, tractracTunnel ? "tcp://" + tractracTunnelHost + ":"
|
||||
+ TracTracConnectionConstants.PORT_TUNNEL_STORED : "tcp://" + TracTracConnectionConstants.HOST_NAME
|
||||
+ ":" + TracTracConnectionConstants.PORT_STORED, false, false, /* simulateWithStartTimeNow */ false, new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to track race: " + caught.getLocalizedMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
System.out.println("Tracked race.");
|
||||
createLeaderboard();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createLeaderboard(){
|
||||
service.createFlexibleLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 }, ScoringSchemeType.LOW_POINT,
|
||||
new AsyncCallback<StrippedLeaderboardDTO>() {
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTO result) {
|
||||
System.out.println("Created Leaderboard "+result.name);
|
||||
addColumnToLeaderboard();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to create Leaderboard." + caught.getLocalizedMessage());
|
||||
finishTest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void addColumnToLeaderboard() {
|
||||
leaderboardPanel = new LeaderboardPanelMock(service, LEADERBOARD_NAME, null, sc);
|
||||
service.addColumnToLeaderboard(COLUMN1_NAME, LEADERBOARD_NAME, false,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to add column to leaderboard.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
System.out.println("Added column to leaderboard.");
|
||||
RaceColumnDTO race = new RaceColumnDTO(/* isValidInTotalScore */ null);
|
||||
race.name = COLUMN1_NAME;
|
||||
race.setMedalRace(false);
|
||||
leaderboardPanel.addColumn(leaderboardPanel.createRaceColumn(race));
|
||||
linkTrackedRace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void linkTrackedRace() {
|
||||
service.connectTrackedRaceToLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME, DEFAULT_FLEET_NAME,
|
||||
new RegattaNameAndRaceName(EVENT_NAME, TRACKED_RACE),
|
||||
new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to link race.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
System.out.println("Success of linking race to column: "+result);
|
||||
getLeaderboard();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getLeaderboard(){
|
||||
ArrayList<String> al = new ArrayList<String>();
|
||||
al.add(COLUMN1_NAME);
|
||||
service.getLeaderboardByName(LEADERBOARD_NAME, new Date(), al, new AsyncCallback<LeaderboardDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to get leaderboard.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(LeaderboardDTO result) {
|
||||
System.out.println("Got leaderboard.");
|
||||
|
||||
leaderboard = result;
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
for (int i = 0; i < leaderboardPanel.getLeaderboardTable()
|
||||
.getColumnCount(); i++) {
|
||||
Column<LeaderboardRowDTO, ?> c = leaderboardPanel.getLeaderboardTable().getColumn(i);
|
||||
if (c instanceof ExpandableSortableColumn<?>) {
|
||||
@SuppressWarnings("unchecked")
|
||||
ExpandableSortableColumn<LeaderboardRowDTO> myRc = (ExpandableSortableColumn<LeaderboardRowDTO>) c;
|
||||
rc = myRc;
|
||||
rc.setEnableExpansion(true);
|
||||
}
|
||||
}
|
||||
removeColumnAndAssert();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void removeColumnAndAssert(){
|
||||
service.removeLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME,
|
||||
new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to remoce column.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
assertNotNull(rc);
|
||||
try {
|
||||
rc.toggleExpansion();
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
} catch (Exception e) {
|
||||
fail("Toggle column failed." + e.getLocalizedMessage());
|
||||
}
|
||||
finishTest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void gwtTearDown() throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
super.gwtTearDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModuleName() {
|
||||
// TODO Auto-generated method stub
|
||||
return "com.sap.sailing.gwt.ui.test.TestConsole";
|
||||
}
|
||||
|
||||
}
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.junit.client.GWTTestCase;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ExpandableSortableColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardRowDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDTO;
|
||||
|
||||
public class GwtTestCaseColumnToggling extends GWTTestCase {
|
||||
|
||||
//These objects should be created by calling GWT.create(Class c);
|
||||
private LeaderboardPanelMock leaderboardPanel;
|
||||
private MyTestSailingServiceAsync service;
|
||||
private StringMessages sc;
|
||||
|
||||
//Test data.
|
||||
private final String LEADERBOARD_NAME = "test";
|
||||
private static final String DEFAULT_FLEET_NAME = "Default";
|
||||
private final String COLUMN1_NAME = "r1";
|
||||
private final String EVENT_NAME = "Sailing Team Germany (STG)";
|
||||
protected static final boolean tractracTunnel = true; // Boolean.valueOf(System.getProperty("tractrac.tunnel", "false"));
|
||||
protected static final String tractracTunnelHost = "10.18.206.73"; // System.getProperty("tractrac.tunnel.host", "localhost");
|
||||
private final String JSON_URL= "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php";
|
||||
private final String TRACKED_RACE = "schwerttest";
|
||||
|
||||
|
||||
private LeaderboardDTO leaderboard;
|
||||
private TracTracRaceRecordDTO rrDao;
|
||||
private ExpandableSortableColumn<LeaderboardRowDTO> rc;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void gwtSetUp() throws Exception {
|
||||
super.gwtSetUp();
|
||||
service = GWT.create(MyTestSailingService.class);
|
||||
sc = GWT.create(StringMessages.class);
|
||||
}
|
||||
|
||||
public void testColumnDeleting() {
|
||||
delayTestFinish(1000000);
|
||||
|
||||
listRacesInEvent();
|
||||
|
||||
}
|
||||
|
||||
private void listRacesInEvent(){
|
||||
service.listTracTracRacesInEvent(JSON_URL, new AsyncCallback<Pair<String,List<TracTracRaceRecordDTO>>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to list races." + caught.getLocalizedMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Pair<String, List<TracTracRaceRecordDTO>> result) {
|
||||
System.out.println("Listed races.");
|
||||
for (TracTracRaceRecordDTO rr : result.getB()){
|
||||
if (rr.name.equals(TRACKED_RACE)){
|
||||
rrDao = rr;
|
||||
}
|
||||
}
|
||||
//assertNotNull("rrDao != null",rrDao);
|
||||
assertNotNull(rrDao);
|
||||
trackRace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void trackRace(){
|
||||
service.trackWithTracTrac(/* regattaToAddTo */null, Collections.singleton(rrDao), tractracTunnel ? "tcp://" + tractracTunnelHost + ":"
|
||||
+ TracTracConnectionConstants.PORT_TUNNEL_LIVE : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":"
|
||||
+ TracTracConnectionConstants.PORT_LIVE, tractracTunnel ? "tcp://" + tractracTunnelHost + ":"
|
||||
+ TracTracConnectionConstants.PORT_TUNNEL_STORED : "tcp://" + TracTracConnectionConstants.HOST_NAME
|
||||
+ ":" + TracTracConnectionConstants.PORT_STORED, false, false, /* simulateWithStartTimeNow */ false, new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to track race: " + caught.getLocalizedMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
System.out.println("Tracked race.");
|
||||
createLeaderboard();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createLeaderboard(){
|
||||
service.createFlexibleLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 }, ScoringSchemeType.LOW_POINT, null,
|
||||
new AsyncCallback<StrippedLeaderboardDTO>() {
|
||||
@Override
|
||||
public void onSuccess(StrippedLeaderboardDTO result) {
|
||||
System.out.println("Created Leaderboard "+result.name);
|
||||
addColumnToLeaderboard();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to create Leaderboard." + caught.getLocalizedMessage());
|
||||
finishTest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void addColumnToLeaderboard() {
|
||||
leaderboardPanel = new LeaderboardPanelMock(service, LEADERBOARD_NAME, null, sc);
|
||||
service.addColumnToLeaderboard(COLUMN1_NAME, LEADERBOARD_NAME, false,
|
||||
new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to add column to leaderboard.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
System.out.println("Added column to leaderboard.");
|
||||
RaceColumnDTO race = new RaceColumnDTO(/* isValidInTotalScore */ null);
|
||||
race.name = COLUMN1_NAME;
|
||||
race.setMedalRace(false);
|
||||
leaderboardPanel.addColumn(leaderboardPanel.createRaceColumn(race));
|
||||
linkTrackedRace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void linkTrackedRace() {
|
||||
service.connectTrackedRaceToLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME, DEFAULT_FLEET_NAME,
|
||||
new RegattaNameAndRaceName(EVENT_NAME, TRACKED_RACE),
|
||||
new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to link race.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
System.out.println("Success of linking race to column: "+result);
|
||||
getLeaderboard();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getLeaderboard(){
|
||||
ArrayList<String> al = new ArrayList<String>();
|
||||
al.add(COLUMN1_NAME);
|
||||
service.getLeaderboardByName(LEADERBOARD_NAME, new Date(), al, new AsyncCallback<LeaderboardDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to get leaderboard.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(LeaderboardDTO result) {
|
||||
System.out.println("Got leaderboard.");
|
||||
|
||||
leaderboard = result;
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
for (int i = 0; i < leaderboardPanel.getLeaderboardTable()
|
||||
.getColumnCount(); i++) {
|
||||
Column<LeaderboardRowDTO, ?> c = leaderboardPanel.getLeaderboardTable().getColumn(i);
|
||||
if (c instanceof ExpandableSortableColumn<?>) {
|
||||
@SuppressWarnings("unchecked")
|
||||
ExpandableSortableColumn<LeaderboardRowDTO> myRc = (ExpandableSortableColumn<LeaderboardRowDTO>) c;
|
||||
rc = myRc;
|
||||
rc.setEnableExpansion(true);
|
||||
}
|
||||
}
|
||||
removeColumnAndAssert();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void removeColumnAndAssert(){
|
||||
service.removeLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME,
|
||||
new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
fail("Failed to remoce column.");
|
||||
finishTest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
assertNotNull(rc);
|
||||
try {
|
||||
rc.toggleExpansion();
|
||||
leaderboardPanel.updateLeaderboard(leaderboard);
|
||||
} catch (Exception e) {
|
||||
fail("Toggle column failed." + e.getLocalizedMessage());
|
||||
}
|
||||
finishTest();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void gwtTearDown() throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
super.gwtTearDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModuleName() {
|
||||
// TODO Auto-generated method stub
|
||||
return "com.sap.sailing.gwt.ui.test.TestConsole";
|
||||
}
|
||||
|
||||
}
|
||||
+138
-138
@@ -1,138 +1,138 @@
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceImpl;
|
||||
import com.sap.sailing.gwt.ui.shared.FleetDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
|
||||
public class TestColumnSwapping {
|
||||
|
||||
private LeaderboardDTO lb = null;
|
||||
private static final String LEADERBOARDNAME = "test";
|
||||
private static final String DEFAULT_FLEET_NAME = "Default";
|
||||
private static final FleetDTO DEFAULT_FLEET = new FleetDTO(DEFAULT_FLEET_NAME, /* ordering */ 0, /* color */ null);
|
||||
private SailingServiceImpl service;
|
||||
private LeaderboardDTO leaderboardOriginalDTO;
|
||||
private LeaderboardDTO leaderboardDTO;
|
||||
private Collection<String> leglist;
|
||||
private Date leaderboardCreationDate;
|
||||
private SailingServiceImpl sailingService = null;
|
||||
|
||||
// Test-Data
|
||||
private final String TEST_LEADERBOARD_NAME = "test_board";
|
||||
private final String[] races = { "1", "2", "3" };
|
||||
private final boolean[] isMedalRace = { false, false, true };
|
||||
|
||||
@Before
|
||||
public void prepareColumnSwapping() {
|
||||
service = new SailingServiceImplMock();
|
||||
int[] disc = { 5, 8, 9, 0, 7, 5, 43 };
|
||||
service.createFlexibleLeaderboard(LEADERBOARDNAME, disc, ScoringSchemeType.LOW_POINT);
|
||||
service.addColumnToLeaderboard("Race1", LEADERBOARDNAME, true);
|
||||
service.addColumnToLeaderboard("Race2", LEADERBOARDNAME, true);
|
||||
service.addColumnToLeaderboard("Race3", LEADERBOARDNAME, true);
|
||||
leglist = new ArrayList<String>();
|
||||
leglist.add("Race1");
|
||||
leglist.add("Race2");
|
||||
leglist.add("Race3");
|
||||
leaderboardCreationDate = new Date();
|
||||
try {
|
||||
// get Leaderboard with name and current date
|
||||
leaderboardOriginalDTO = new LeaderboardDTO(null, null, /* higherScoreIsBetter */ false);
|
||||
leaderboardOriginalDTO.addRace("Race1", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
leaderboardOriginalDTO.addRace("Race3", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
leaderboardOriginalDTO.addRace("Race2", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testColumnSwapping() {
|
||||
testColumnSwappingFabian();
|
||||
testLeaderBoardDTOMethods();
|
||||
testSailingService();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSailingService() {
|
||||
sailingService = new SailingServiceImplMock();
|
||||
assertNotNull("Sailingservice != NULL", sailingService);
|
||||
int td[] = { 5, 8 };
|
||||
sailingService.createFlexibleLeaderboard(TEST_LEADERBOARD_NAME, td, ScoringSchemeType.LOW_POINT);
|
||||
for (int i = 0; i < races.length; i++)
|
||||
sailingService.addColumnToLeaderboard(races[i], TEST_LEADERBOARD_NAME, isMedalRace[i]);
|
||||
sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]);
|
||||
sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]);
|
||||
sailingService.moveLeaderboardColumnUp(TEST_LEADERBOARD_NAME, races[2]);
|
||||
sailingService.updateIsMedalRace(TEST_LEADERBOARD_NAME, races[0], true);
|
||||
sailingService.updateIsMedalRace(TEST_LEADERBOARD_NAME, races[2], false);
|
||||
try {
|
||||
lb = sailingService.getLeaderboardByName(TEST_LEADERBOARD_NAME, new Date(), /* races to load */ null);
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
fail(e.getLocalizedMessage());
|
||||
}
|
||||
assertNotNull("LeaderboardDTO != NULL", lb);
|
||||
|
||||
// asserted data
|
||||
String[] raceNames = new String[] { "3", "2", "1" };
|
||||
boolean[] medalRace = { true, false, false };
|
||||
|
||||
for (int i = 0; i < lb.getRaceList().size(); i++) {
|
||||
assertTrue("Race[" + i + "] == " + raceNames[i], lb.getRaceList().get(i).equals(raceNames[i]));
|
||||
assertTrue("Race[" + i + "] is " + (medalRace[i] ? "" : "no ") + "medalrace.",
|
||||
lb.raceIsMedalRace(races[i]) == medalRace[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLeaderBoardDTOMethods() {
|
||||
lb = new LeaderboardDTO(null, null, /* higherScoreIsBetter */ false);
|
||||
assertNotNull("Leaderboard != NULL", lb);
|
||||
lb.addRace("1", /* explicitFactor */ null, DEFAULT_FLEET, false, null, null);
|
||||
lb.addRace("2", /* explicitFactor */ null, DEFAULT_FLEET, false, null, null);
|
||||
lb.addRace("3", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
lb.moveRaceDown("1");
|
||||
String[] s = new String[] { "2", "1", "3" };
|
||||
for (int i = 0; i < lb.getRaceList().size(); i++)
|
||||
assertTrue("Race[" + i + "] = " + s[i], lb.getRaceList().get(i).equals(s[i]));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testColumnSwappingFabian() {
|
||||
service.moveLeaderboardColumnUp(LEADERBOARDNAME, "Race3");
|
||||
try {
|
||||
leaderboardDTO = service.getLeaderboardByName(LEADERBOARDNAME, leaderboardCreationDate, leglist);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// check if leaderboardDTO an dleaderboardOriginalDTO same
|
||||
List<RaceColumnDTO> leaderboardList = leaderboardDTO.getRaceList();
|
||||
List<RaceColumnDTO> leaderboardOriginalList = leaderboardOriginalDTO.getRaceList();
|
||||
|
||||
// ??????? assert races in list
|
||||
assertArrayEquals(leaderboardList.toArray(), leaderboardOriginalList.toArray());
|
||||
|
||||
for (RaceColumnDTO raceDTO : leaderboardOriginalList) {
|
||||
assert leaderboardDTO.raceIsMedalRace(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsMedalRace(raceDTO.getRaceColumnName());
|
||||
assert leaderboardDTO.raceIsTracked(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsTracked(raceDTO.getRaceColumnName());
|
||||
}
|
||||
}
|
||||
}
|
||||
package com.sap.sailing.gwt.ui.test;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.gwt.ui.server.SailingServiceImpl;
|
||||
import com.sap.sailing.gwt.ui.shared.FleetDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceColumnDTO;
|
||||
|
||||
public class TestColumnSwapping {
|
||||
|
||||
private LeaderboardDTO lb = null;
|
||||
private static final String LEADERBOARDNAME = "test";
|
||||
private static final String DEFAULT_FLEET_NAME = "Default";
|
||||
private static final FleetDTO DEFAULT_FLEET = new FleetDTO(DEFAULT_FLEET_NAME, /* ordering */ 0, /* color */ null);
|
||||
private SailingServiceImpl service;
|
||||
private LeaderboardDTO leaderboardOriginalDTO;
|
||||
private LeaderboardDTO leaderboardDTO;
|
||||
private Collection<String> leglist;
|
||||
private Date leaderboardCreationDate;
|
||||
private SailingServiceImpl sailingService = null;
|
||||
|
||||
// Test-Data
|
||||
private final String TEST_LEADERBOARD_NAME = "test_board";
|
||||
private final String[] races = { "1", "2", "3" };
|
||||
private final boolean[] isMedalRace = { false, false, true };
|
||||
|
||||
@Before
|
||||
public void prepareColumnSwapping() {
|
||||
service = new SailingServiceImplMock();
|
||||
int[] disc = { 5, 8, 9, 0, 7, 5, 43 };
|
||||
service.createFlexibleLeaderboard(LEADERBOARDNAME, disc, ScoringSchemeType.LOW_POINT, null);
|
||||
service.addColumnToLeaderboard("Race1", LEADERBOARDNAME, true);
|
||||
service.addColumnToLeaderboard("Race2", LEADERBOARDNAME, true);
|
||||
service.addColumnToLeaderboard("Race3", LEADERBOARDNAME, true);
|
||||
leglist = new ArrayList<String>();
|
||||
leglist.add("Race1");
|
||||
leglist.add("Race2");
|
||||
leglist.add("Race3");
|
||||
leaderboardCreationDate = new Date();
|
||||
try {
|
||||
// get Leaderboard with name and current date
|
||||
leaderboardOriginalDTO = new LeaderboardDTO(null, null, /* higherScoreIsBetter */ false);
|
||||
leaderboardOriginalDTO.addRace("Race1", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
leaderboardOriginalDTO.addRace("Race3", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
leaderboardOriginalDTO.addRace("Race2", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testColumnSwapping() {
|
||||
testColumnSwappingFabian();
|
||||
testLeaderBoardDTOMethods();
|
||||
testSailingService();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSailingService() {
|
||||
sailingService = new SailingServiceImplMock();
|
||||
assertNotNull("Sailingservice != NULL", sailingService);
|
||||
int td[] = { 5, 8 };
|
||||
sailingService.createFlexibleLeaderboard(TEST_LEADERBOARD_NAME, td, ScoringSchemeType.LOW_POINT, null);
|
||||
for (int i = 0; i < races.length; i++)
|
||||
sailingService.addColumnToLeaderboard(races[i], TEST_LEADERBOARD_NAME, isMedalRace[i]);
|
||||
sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]);
|
||||
sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]);
|
||||
sailingService.moveLeaderboardColumnUp(TEST_LEADERBOARD_NAME, races[2]);
|
||||
sailingService.updateIsMedalRace(TEST_LEADERBOARD_NAME, races[0], true);
|
||||
sailingService.updateIsMedalRace(TEST_LEADERBOARD_NAME, races[2], false);
|
||||
try {
|
||||
lb = sailingService.getLeaderboardByName(TEST_LEADERBOARD_NAME, new Date(), /* races to load */ null);
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
fail(e.getLocalizedMessage());
|
||||
}
|
||||
assertNotNull("LeaderboardDTO != NULL", lb);
|
||||
|
||||
// asserted data
|
||||
String[] raceNames = new String[] { "3", "2", "1" };
|
||||
boolean[] medalRace = { true, false, false };
|
||||
|
||||
for (int i = 0; i < lb.getRaceList().size(); i++) {
|
||||
assertTrue("Race[" + i + "] == " + raceNames[i], lb.getRaceList().get(i).equals(raceNames[i]));
|
||||
assertTrue("Race[" + i + "] is " + (medalRace[i] ? "" : "no ") + "medalrace.",
|
||||
lb.raceIsMedalRace(races[i]) == medalRace[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLeaderBoardDTOMethods() {
|
||||
lb = new LeaderboardDTO(null, null, /* higherScoreIsBetter */ false);
|
||||
assertNotNull("Leaderboard != NULL", lb);
|
||||
lb.addRace("1", /* explicitFactor */ null, DEFAULT_FLEET, false, null, null);
|
||||
lb.addRace("2", /* explicitFactor */ null, DEFAULT_FLEET, false, null, null);
|
||||
lb.addRace("3", /* explicitFactor */ null, DEFAULT_FLEET, true, null, null);
|
||||
lb.moveRaceDown("1");
|
||||
String[] s = new String[] { "2", "1", "3" };
|
||||
for (int i = 0; i < lb.getRaceList().size(); i++)
|
||||
assertTrue("Race[" + i + "] = " + s[i], lb.getRaceList().get(i).equals(s[i]));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testColumnSwappingFabian() {
|
||||
service.moveLeaderboardColumnUp(LEADERBOARDNAME, "Race3");
|
||||
try {
|
||||
leaderboardDTO = service.getLeaderboardByName(LEADERBOARDNAME, leaderboardCreationDate, leglist);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// check if leaderboardDTO an dleaderboardOriginalDTO same
|
||||
List<RaceColumnDTO> leaderboardList = leaderboardDTO.getRaceList();
|
||||
List<RaceColumnDTO> leaderboardOriginalList = leaderboardOriginalDTO.getRaceList();
|
||||
|
||||
// ??????? assert races in list
|
||||
assertArrayEquals(leaderboardList.toArray(), leaderboardOriginalList.toArray());
|
||||
|
||||
for (RaceColumnDTO raceDTO : leaderboardOriginalList) {
|
||||
assert leaderboardDTO.raceIsMedalRace(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsMedalRace(raceDTO.getRaceColumnName());
|
||||
assert leaderboardDTO.raceIsTracked(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsTracked(raceDTO.getRaceColumnName());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user