def run(self): self.gpsPath = FileReader.parseGpsLog(self.gpsLog) if(self.gpsPath == -1): return print self.gpsPath if self.coreLog == None: self.coreLog = self.runCamSim() self.pathList = FileReader.parseCoreLogs(self.coreLog, self.gpsPath[0].longitude, self.gpsPath[0].latitude) if(self.pathList == -1): return optimalPath = self.getOptimalPath(self.gpsPath, self.pathList) distances = self.calculateDistances(optimalPath) self.calculateMetrics(optimalPath, distances) FileWriter.createDataSheet(self, self.totalResult, self.twentyMinuteResults) FileWriter.export(self, self.gpsPath, [optimalPath]) print "Minimum Distance" print min(distances) print "Maximum Distance" print max(distances) print 'id: ', self.scenarioID print 'core log file: ', self.coreLog print 'gps log file: ', self.gpsLog print 'time offset: ', self.timeOffset print 'maximum radius: ', self.maxRadius print 'number of paths: ', len(self.pathList)
from Scenario import Scenario from MetricsResult import MetricsResult import FileWriter totalResult = MetricsResult(23*3600 + 00*60 + 00.000, 00*3600 + 13*60 + 01.000, 60, 4, 2.1, 7.5, 5.35, 33.333) twentyMinuteResults = list() twentyMinuteResults.append(MetricsResult(23*3600 + 00*60 + 00.000, 23*3600 + 19*60 + 59.999, 66.666, 5.3, 6.6, 7.5, 5.35, 33.333)) twentyMinuteResults.append(MetricsResult(23*3600 + 20*60 + 00.000, 23*3600 + 39*60 + 59.999, 0, 99999, -1, -1, -1, -1)) twentyMinuteResults.append(MetricsResult(23*3600 + 40*60 + 00.000, 23*3600 + 59*60 + 59.999, 100, 2.1, 7.5, 4.8, 1, 50)) twentyMinuteResults.append(MetricsResult(00*3600 + 13*60 + 01.000, 00*3600 + 13*60 + 01.000, 66.666, 4.3, 6.3, 5.3, 1, 50)) print 'Test1: Valid input' scenario = Scenario(1, 5.0, sys.path[0], '', 'example_gps.log', 'example_core.log', 4) FileWriter.createDataSheet(scenario, totalResult, twentyMinuteResults) print 'Results file printed successfully\n' """ EXPECTED: taken from first successful test Scenario ID: 1 Date: 2014-10-27 02:44:24.171000 Time taken: 0:00:00 GPS log files used: example_gps.log Asterisk file used: example_core.log Time offset: 4 Maximum radius of detection: 5.0 meters Overall testing results : Detection percentage: 60%