mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-17 01:31:01 +00:00
hasResults... implemented and tested
This commit is contained in:
1 parent
3261d49d92
commit
cd432f8a1d
12 files changed
+190
-62
No files matched your search
+36
@@ -1,12 +1,17 @@
|
||||
package com.sap.sailing.odf.resultimport.test;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
@@ -16,14 +21,19 @@ import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.odf.resultimport.Competition;
|
||||
import com.sap.sailing.odf.resultimport.CumulativeResult;
|
||||
import com.sap.sailing.odf.resultimport.CumulativeResultDocumentProvider;
|
||||
import com.sap.sailing.odf.resultimport.OdfBody;
|
||||
import com.sap.sailing.odf.resultimport.OdfBodyParser;
|
||||
import com.sap.sailing.odf.resultimport.ParserFactory;
|
||||
import com.sap.sailing.odf.resultimport.impl.ScoreCorrectionProviderImpl;
|
||||
|
||||
public class ParserTest {
|
||||
private static final String SAMPLE_INPUT_NAME = "SAM004000_DT_CUMULATIVE_RESULT_SAM004000_1.0.xml";
|
||||
private static final String SAMPLE_INPUT_NAME2 = "SAM007000_DT_CUMULATIVE_RESULT_SAM007000_1.0.xml";
|
||||
private static final String RESOURCES = "resources/";
|
||||
|
||||
private InputStream getInputStream(String filename) throws FileNotFoundException, IOException {
|
||||
@@ -33,6 +43,19 @@ public class ParserTest {
|
||||
private File getFile(String filename) {
|
||||
return new File(RESOURCES + filename);
|
||||
}
|
||||
|
||||
private CumulativeResultDocumentProvider getTestDocumentProvider() {
|
||||
return new CumulativeResultDocumentProvider() {
|
||||
@Override
|
||||
public Iterable<InputStream> getAllAvailableCumulativeResultDocuments() {
|
||||
try {
|
||||
return Arrays.asList(new InputStream[] { getInputStream(SAMPLE_INPUT_NAME), getInputStream(SAMPLE_INPUT_NAME2) });
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLoadingSampleXML() throws SAXException, IOException, ParserConfigurationException {
|
||||
@@ -53,11 +76,24 @@ public class ParserTest {
|
||||
OdfBody body = parser.parse(getSampleInputStream(), SAMPLE_INPUT_NAME);
|
||||
assertNotNull(body);
|
||||
Iterable<Competition> competitions = body.getCompetitions();
|
||||
final Map<String, CumulativeResult> results = new HashMap<>();
|
||||
for (Competition competition : competitions) {
|
||||
for (CumulativeResult cumulativeResult : competition.getCumulativeResults()) {
|
||||
System.out.println(cumulativeResult);
|
||||
results.put(cumulativeResult.getCompetitorCode(), cumulativeResult);
|
||||
}
|
||||
}
|
||||
assertTrue(results.containsKey("1094919"));
|
||||
assertTrue(results.containsKey("262797"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testScoreCorrectionProviderFeeding() throws IOException, SAXException, ParserConfigurationException {
|
||||
ScoreCorrectionProviderImpl scoreCorrectionProvider = new ScoreCorrectionProviderImpl(getTestDocumentProvider(),
|
||||
ParserFactory.INSTANCE);
|
||||
Map<String, Set<Pair<String, TimePoint>>> hasResultsFor = scoreCorrectionProvider.getHasResultsForBoatClassFromDateByEventName();
|
||||
assertTrue(hasResultsFor.containsKey("Star"));
|
||||
assertTrue(hasResultsFor.containsKey("Laser"));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user