hasResults... implemented and tested

This commit is contained in:
Axel Uhl committed 2013-03-13 12:49:16 +01:00
1 parent 3261d49d92
commit cd432f8a1d
12 files changed
+190 -62

No files matched your search

@@ -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"));
}
}