### Question:
StifTask implements Runnable { public void logDSCStatistics(Map<String, List<AgencyAndId>> dscToTripMap, Map<AgencyAndId, String> tripToDscMap) { abnormalDataLogger.logDSCStatistics(dscToTripMap, tripToDscMap, stifAggregator.getRouteIdsByDsc()); }  void setStifTripLoader(StifTripLoader loader); boolean usesFallBackToStifBlocks(); void setFallBackToStifBlocks(boolean fallBackToStifBlocks); void setCSVLogger(MultiCSVLogger logger); @Autowired void setLogger(MultiCSVLogger logger); @Autowired void setGtfsMutableRelationalDao(
			GtfsMutableRelationalDao gtfsMutableRelationalDao); void setStifPath(File path); void setStifPaths(List<File> paths); void setNotInServiceDsc(String notInServiceDsc); void setTripToDSCOverridePath(String path); void setNotInServiceDscs(List<String> notInServiceDscs); void setNotInServiceDscPath(File notInServiceDscPath); Boolean getExcludeNonRevenue(); void setExcludeNonRevenue(Boolean excludeNonRevenue); @PostConstruct void init(); void setAbnormalDataLoggerCsvLogger(); void logDSCStatistics(Map<String, List<AgencyAndId>> dscToTripMap,
			Map<AgencyAndId, String> tripToDscMap); void run();  }### Answer:
@Test public void testDscToTripMap() throws IOException{ assignAgency("MTA_NYCT", 0, 3); assignAgency("MTABC", 4, 98); assignDSC("7042", 0, 3); assignDSC("7041", 4, 52); assignDSC("7040", 53, 98); String[] testSetZero = {"dsc","agency_id","number_of_trips_in_stif","number_of_distinct_route_ids_in_gtfs"}; String[] testSetOne = {"7040","MTABC","46"}; String[] testSetTwo = {"7041","MTABC","49"}; String[] testSetThree = {"7042","MTA_NYCT","4"}; ArrayList<String[]> expectedTestSet = new ArrayList<String[]>(); expectedTestSet.add(testSetThree); expectedTestSet.add(testSetTwo); expectedTestSet.add(testSetOne); expectedTestSet.add(testSetZero); task.logDSCStatistics(dscToTripMap, tripToDscMap); String line; int count = 0; int expectedCount = 4; while((line = reader.readLine()) != null ){ String[] cols = line.split(","); assertTrue("The line split length is incorrect / unexpected", cols.length == 4); boolean visited = false; for(String[] testcol : expectedTestSet){ if(testcol[0].equals(cols[0])){ visited = true; for(int i=1; i<testcol.length; i++){ assertTrue("The column is unequal at pos in "+i+"in "+line +"expected "+ testcol[i], testcol[i].equals(cols[i])); } } } assertTrue("doesn't contain the line"+line, visited); count++; } assertEquals("Unexpected line count from outgoing file", String.valueOf(count), String.valueOf(expectedCount)); }