use of edu.usf.cutr.gtfsrtvalidator.lib.model.helper.ErrorListHelperModel in project gtfs-realtime-validator by CUTR-at-USF.
the class UtilTest method testAssertResultsThrowExceptionMismatchActualExpected.
@Test(expected = AssertionError.class)
public void testAssertResultsThrowExceptionMismatchActualExpected() {
// Make sure we fail if we have actual results that don't match the expected results
List<ErrorListHelperModel> results = new ArrayList<>();
MessageLogModel modelE001 = new MessageLogModel(E001);
OccurrenceModel errorE001 = new OccurrenceModel(String.valueOf(MIN_POSIX_TIME));
List<OccurrenceModel> errorListE001 = new ArrayList<>();
errorListE001.add(errorE001);
results.add(new ErrorListHelperModel(modelE001, errorListE001));
Map<ValidationRule, Integer> expected = new HashMap<>();
expected.put(E002, 1);
// We are expecting error for E002, but get one for E001 - this should throw an AssertionError
TestUtils.assertResults(expected, results);
}
use of edu.usf.cutr.gtfsrtvalidator.lib.model.helper.ErrorListHelperModel in project gtfs-realtime-validator by CUTR-at-USF.
the class UtilTest method testAssertResults.
/**
* Make sure our utility method TestUtils.assertResults() properly asserts number of expected==actual
* rule occurrences
*/
@Test
public void testAssertResults() {
MessageLogModel modelE001 = new MessageLogModel(E001);
OccurrenceModel errorE001 = new OccurrenceModel(String.valueOf(MIN_POSIX_TIME));
List<OccurrenceModel> errorListE001 = new ArrayList<>();
List<ErrorListHelperModel> results = new ArrayList<>();
Map<ValidationRule, Integer> expected = new HashMap<>();
// Test empty list of error results and empty hashmap
TestUtils.assertResults(expected, results);
// Test list of error results, but without a MessageLogModel
results.add(new ErrorListHelperModel(modelE001, errorListE001));
TestUtils.assertResults(expected, results);
// Test list of error results, with one MessageLogModel
errorListE001.add(errorE001);
expected.put(E001, 1);
TestUtils.assertResults(expected, results);
// Test list of error results, with two MessageLogModels
errorListE001.add(errorE001);
expected.put(E001, 2);
TestUtils.assertResults(expected, results);
}
use of edu.usf.cutr.gtfsrtvalidator.lib.model.helper.ErrorListHelperModel in project gtfs-realtime-validator by CUTR-at-USF.
the class UtilTest method testAssertResultsThrowExceptionMoreExpected.
@Test(expected = AssertionError.class)
public void testAssertResultsThrowExceptionMoreExpected() {
// Make sure we fail if we have expected occurrences that aren't included in results
List<ErrorListHelperModel> results = new ArrayList<>();
MessageLogModel modelE001 = new MessageLogModel(E001);
OccurrenceModel errorE001 = new OccurrenceModel(String.valueOf(MIN_POSIX_TIME));
List<OccurrenceModel> errorListE001 = new ArrayList<>();
errorListE001.add(errorE001);
results.add(new ErrorListHelperModel(modelE001, errorListE001));
Map<ValidationRule, Integer> expected = new HashMap<>();
expected.put(E001, 1);
// We're expecting 1 error for E001 and 1 error for E002, but get one actual error for E001 - this should throw an AssertionError
expected.put(E002, 1);
TestUtils.assertResults(expected, results);
}
use of edu.usf.cutr.gtfsrtvalidator.lib.model.helper.ErrorListHelperModel in project gtfs-realtime-validator by CUTR-at-USF.
the class StopLocationTypeValidatorTest method testE010.
/**
* E010 - If location_type is used in stops.txt, all stops referenced in stop_times.txt must have location_type of 0
*/
@Test
public void testE010() {
StopLocationTypeValidator stopLocationValidator = new StopLocationTypeValidator();
Map<ValidationRule, Integer> expected = new HashMap<>();
// gtfsData does not contain location_type = 1 for stop_id. Therefore returns 0 results
results = stopLocationValidator.validate(gtfsData);
for (ErrorListHelperModel error : results) {
assertEquals(0, error.getOccurrenceList().size());
}
// gtfsData2 contains location_type = 1 for stop_ids. Therefore returns errorcount = (number of location_type = 1 for stop_ids)
results = stopLocationValidator.validate(gtfsData2);
expected.put(E010, 1);
TestUtils.assertResults(expected, results);
clearAndInitRequiredFeedFields();
}
use of edu.usf.cutr.gtfsrtvalidator.lib.model.helper.ErrorListHelperModel in project gtfs-realtime-validator by CUTR-at-USF.
the class StopLocationTypeValidator method validate.
@Override
public List<ErrorListHelperModel> validate(GtfsDaoImpl gtfsData) {
List<OccurrenceModel> e010List = new ArrayList<>();
Collection<StopTime> stopTimes = gtfsData.getAllStopTimes();
Set<Stop> checkedStops = new HashSet<>();
for (StopTime stopTime : stopTimes) {
if (!checkedStops.contains(stopTime.getStop())) {
checkedStops.add(stopTime.getStop());
if (stopTime.getStop().getLocationType() != 0) {
RuleUtils.addOccurrence(E010, "stop_id " + stopTime.getStop().getId(), e010List, _log);
}
}
}
List<ErrorListHelperModel> errors = new ArrayList<>();
if (!e010List.isEmpty()) {
errors.add(new ErrorListHelperModel(new MessageLogModel(E010), e010List));
}
return errors;
}
Aggregations