def testHIHandheldNoneTime(self):
        config = self.config
        config['columns']['time'] = None

        records = importdata.locationsDown(config)
        records.sort(key=attrgetter('location', 'parameter'))
        
        times = [record.times[0] for record in records] 
        self.assertTrue(all(time == HecTime("25MAR2015 12:00").value()
                        for time in times))
    def testHIHandheld(self):
        config = self.config

        records = importdata.locationsDown(config)
        # Records are not in the same order as input file
        records.sort(key=attrgetter('location', 'parameter'))
        
        self.assertEqual(len(records), 40)
        self.assertTrue(all(record.site == 'SITE NAME' for record in records))
        self.assertTrue(all(record.version == 'RAW' for record in records))
        
        seen = set()
        seen_add = seen.add
        # One date/time per location
        times = [record.times[0] for record in records 
            if not (record.location in seen or seen_add(record.location))]
        expected = [
            HecTime("25MAR2015 12:15").value(),
            HecTime("25MAR2015 11:36").value(),
            HecTime("25MAR2015 13:06").value(),
            HecTime("25MAR2015 10:49").value(),
            HecTime("25MAR2015 12:57").value(),
            HecTime("25MAR2015 11:49").value(),
            HecTime("25MAR2015 12:02").value(),
            HecTime("25MAR2015 13:42").value()
        ]
        self.assertEqual(times, expected)
        
        expected = [
            [4.91, 42.4, 100, 5.77, 7.92],
            [5.68, 49.3, 64, 4.86, 8.25],
            [8.26, 70, 55, 6.01, 7.33],
            [6.86, 57.1, 95, 5.24, 6.62],
            [9.75, 82, 41, 5.82, 6.95],
            [6.97, 57.9, 91, 5.64, 6.26],
            [9.9, 81.1, 49, 5.53, 5.99],
            [8.45, 72.2, 17, 8.2, 7.48],
        ]
        values = [record.values[0] for record in records]
        values = [values[i:i + 5] for i in range(0, len(values), 5)]
        self.assertEqual(values, expected)
        
        qualities = [record.qualities[0] for record in records]
        self.assertEqual(qualities, [3] * len(records))
 def main(self):
     records = importdata.locationsDown(self.config)
     imported = tbu.saveRecords(records, self.dssFilePath)
     self.message = "{} Records imported.".format(imported)