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)