def test_loadEmptyFile(self): log = LogFile() log.createLogfile("empty.test") log2 = LogFile() log2.loadFromFile("empty.test") self.assertTrue(log2.isBrokenFile())
def test_createRandomDataFileNoGPS(self): log = LogFile() log.createLogfile("Random_NoGPS.test") time = range(100) speed = np.random.randint(100, size=100).tolist() rpm = np.random.randint(5000, size=100).tolist() load = np.random.randint(100, size=100).tolist() maf = np.random.randint(100, size=100).tolist() temp = np.random.randint(30, size=100).tolist() pedal = np.random.randint(100, size=100).tolist() afr = [1] * 100 fuel_lvl = np.random.randint(100, size=100).tolist() gps_long = [None] * 100 gps_lat = [None] * 100 gps_alt = [None] * 100 gps_time = [None] * 100 internal_temp = np.random.randint(30, size=100).tolist() vin = ["MF0DXXGAKDJP09111"] * 100 for i in range(0, len(speed)): log.addData([ time[i], speed[i], rpm[i], load[i], maf[i], temp[i], pedal[i], afr[i], fuel_lvl[i], gps_long[i], gps_lat[i], gps_alt[i], gps_time[i], internal_temp[i], vin[i] ]) log.appendFile() log2 = LogFile() log2.loadFromFile(log.getfilename()) speed_csv = log2.getLabelData(signals.SPEED.name) afr_csv = log2.getLabelData(signals.COMMANDED_EQUIV_RATIO.name) temp_csv = log2.getLabelData(signals.AMBIANT_AIR_TEMP.name) rpm_csv = log2.getLabelData(signals.RPM.name) load_csv = log2.getLabelData(signals.ENGINE_LOAD.name) maf_csv = log2.getLabelData(signals.MAF.name) pedal_csv = log2.getLabelData(signals.RELATIVE_ACCEL_POS.name) fuel_lvl_csv = log2.getLabelData(signals.FUEL_LEVEL.name) gps_long_csv = log2.getLabelData(signals.GPS_Long.name) gps_lat_csv = log2.getLabelData(signals.GPS_Lat.name) gps_alt_csv = log2.getLabelData(signals.GPS_Alt.name) gps_time_csv = log2.getLabelData(signals.GPS_Time.name) internal_temp_csv = log2.getLabelData(signals.INTERNAL_AIR_TEMP.name) vin_csv = log2.getLabelData(signals.VIN.name) self.assertTrue(log2.isBrokenFile()) self.assertEqual(speed_csv, speed) self.assertEqual(afr_csv, afr) self.assertEqual(temp_csv, temp) self.assertEqual(rpm_csv, rpm) self.assertEqual(load_csv, load) self.assertEqual(maf_csv, maf) self.assertEqual(pedal_csv, pedal) self.assertEqual(fuel_lvl_csv, fuel_lvl) self.assertEqual(gps_long_csv, gps_long) self.assertEqual(gps_lat_csv, gps_lat) self.assertEqual(gps_alt_csv, gps_alt) self.assertEqual(gps_time_csv, gps_time) self.assertEqual(internal_temp_csv, internal_temp) self.assertEqual(vin_csv, vin) self.assertEqual(log2._VIN, "MF0DXXGAKDJP09111")
def test_createZerosDataFile(self): log = LogFile() log.createLogfile("Zeros.test") time = range(100) speed = [0] * 100 rpm = [0] * 100 load = [0] * 100 maf = [0] * 100 temp = [0] * 100 pedal = [0] * 100 afr = [0] * 100 fuel_lvl = [None] * 100 gps_long = [None] * 100 gps_lat = [None] * 100 gps_alt = [None] * 100 gps_time = [None] * 100 internal_temp = [None] * 100 vin = ["VIN12FBASSF13"] * 100 for i in range(0, len(speed)): log.addData([ time[i], speed[i], rpm[i], load[i], maf[i], temp[i], pedal[i], afr[i], fuel_lvl[i], gps_long[i], gps_lat[i], gps_alt[i], gps_time[i], internal_temp[i], vin[i] ]) log.appendFile() log2 = LogFile() log2.loadFromFile(log.getfilename()) speed_csv = log2.getLabelData(signals.SPEED.name) afr_csv = log2.getLabelData(signals.COMMANDED_EQUIV_RATIO.name) temp_csv = log2.getLabelData(signals.AMBIANT_AIR_TEMP.name) rpm_csv = log2.getLabelData(signals.RPM.name) load_csv = log2.getLabelData(signals.ENGINE_LOAD.name) maf_csv = log2.getLabelData(signals.MAF.name) pedal_csv = log2.getLabelData(signals.RELATIVE_ACCEL_POS.name) fuel_lvl_csv = log2.getLabelData(signals.FUEL_LEVEL.name) gps_long_csv = log2.getLabelData(signals.GPS_Long.name) gps_lat_csv = log2.getLabelData(signals.GPS_Lat.name) gps_alt_csv = log2.getLabelData(signals.GPS_Alt.name) gps_time_csv = log2.getLabelData(signals.GPS_Time.name) internal_temp_csv = log2.getLabelData(signals.INTERNAL_AIR_TEMP.name) vin_csv = log2.getLabelData(signals.VIN.name) self.assertTrue(log2.isBrokenFile()) self.assertEqual(speed_csv, speed) self.assertEqual(afr_csv, afr) self.assertEqual(temp_csv, temp) self.assertEqual(rpm_csv, rpm) self.assertEqual(load_csv, load) self.assertEqual(maf_csv, maf) self.assertEqual(pedal_csv, pedal) self.assertEqual(fuel_lvl_csv, fuel_lvl) self.assertEqual(gps_long_csv, gps_long) self.assertEqual(gps_lat_csv, gps_lat) self.assertEqual(gps_alt_csv, gps_alt) self.assertEqual(gps_time_csv, gps_time) self.assertEqual(internal_temp_csv, internal_temp) self.assertEqual(vin_csv, vin)
def test_isBrokenFile_NoGPS(self): log = LogFile() log.loadFromFile("Random_NoGPS.test") broken = log.isBrokenFile() self.assertTrue(broken)
def test_isBrokenFile_OK(self): log = LogFile() log.loadFromFile("Random.test") broken = log.isBrokenFile() self.assertFalse(broken)
def test_isBrokenFile_NoRPM(self): log = LogFile() log.loadFromFile("Zeros.test") broken = log.isBrokenFile() self.assertTrue(broken)
print(env.PATH) # Create an object of the class LogFile --> logging log = LogFile() # Get the file names of the LogFile files = LogFile.getFilenames() print(files) ### Transfer every CSV file to server # For every file of the LogFile for file in files: # Load the file from the LogFile: Loads the data from the csv file log.loadFromFile(file) ### Delete Files without content if (log.isBrokenFile()): # If the file path exists, delete it and write the action to the log if os.path.exists(env.PATH + file): os.remove(env.PATH + file) print("[DELETE] broken file: " + str(file)) with open(env.PATH + "LOG.log", "a") as f: f.write("[DELETE]: " + str(file) + " - File was broken (No GPS or RPM signals) " + "\n") continue ### Transfer of JSON to server # If file has content, transfer the data to a JSON object filename = log.transferToJson() print(filename)