Пример #1
0
 def test_csv_parsing(self):
     csv_file = StringIO(
         '10525612,IASPEI,2008-02-09,07:12:06.43,32.4850,-115.2935, 20.6,,'
         'IASPEI,MS,4.7,IASPEI,mb, 4.9\n'
         '10526626,IASPEI,2008-02-11,18:29:32.64,32.4765,-115.2965,16.5,,'
         'IASPEI,MS,4.8,IASPEI,mb, 4.8\n')
     importer = Iaspei(csv_file, self.cat)
     exp_num_entries = 2
     self.assertEqual(exp_num_entries, len(
         importer._parse_csv(header=False)))
Пример #2
0
class AIaspeiImporterShould(unittest.TestCase):

    def setUp(self):
        self.file = file(DATAFILE_IASPEI)
        self.cat = catalogue.CatalogueDatabase(memory=True, drop=True)
        self.csv_importer = Iaspei(self.file, self.cat)

    def tearDown(self):
        self.file.close()

    def test_raise_exception_with_invalid_mag_group(self):
        # Each mag is well defined when there are Author, Type and Value
        mag_group = ['IASPEI', 'MS', '3.4', 'IASPEI', 'mb', '4.3', 'NEIC']
        with self.assertRaises(InvalidMagnitudeSeq) as exp:
            self.csv_importer._check_magnitude_group(mag_group)

            self.assertEqual(Iaspei.ERR_MAG_GROUP, exp.message)

    def test_csv_parsing(self):
        csv_file = StringIO(
            '10525612,IASPEI,2008-02-09,07:12:06.43,32.4850,-115.2935, 20.6,,'
            'IASPEI,MS,4.7,IASPEI,mb, 4.9\n'
            '10526626,IASPEI,2008-02-11,18:29:32.64,32.4765,-115.2965,16.5,,'
            'IASPEI,MS,4.8,IASPEI,mb, 4.8\n')
        importer = Iaspei(csv_file, self.cat)
        exp_num_entries = 2
        self.assertEqual(exp_num_entries, len(
            importer._parse_csv(header=False)))

    def test_import_csv_iaspei(self):
        self.csv_importer.store()
        summary = self.csv_importer.summary

        self.assertEqual(summary, {
            BaseImporter.EVENT_SOURCE: 1,
            BaseImporter.AGENCY: 1,
            BaseImporter.ORIGIN: 46,
            BaseImporter.MEASURE:  61
        })

        importer = Iaspei(self.file, self.cat)
        importer.store()

    def test_importing_once_the_same_csv(self):

        first_importer = Iaspei(self.file, self.cat)
        first_importer.store()

        second_importer = Iaspei(self.file, self.cat)
        second_importer.store()

        measures = self.cat.session.query(catalogue.MagnitudeMeasure)
        self.assertEqual(measures.count(),  61)
Пример #3
0
    def test_import_csv_iaspei(self):
        self.csv_importer.store()
        summary = self.csv_importer.summary

        self.assertEqual(summary, {
            BaseImporter.EVENT_SOURCE: 1,
            BaseImporter.AGENCY: 1,
            BaseImporter.ORIGIN: 46,
            BaseImporter.MEASURE:  61
        })

        importer = Iaspei(self.file, self.cat)
        importer.store()
Пример #4
0
    def test_importing_once_the_same_csv(self):

        first_importer = Iaspei(self.file, self.cat)
        first_importer.store()

        second_importer = Iaspei(self.file, self.cat)
        second_importer.store()

        measures = self.cat.session.query(catalogue.MagnitudeMeasure)
        self.assertEqual(measures.count(),  61)
Пример #5
0
    def test_importing_once_the_same_csv(self):

        first_importer = Iaspei(self.file, self.cat)
        first_importer.store()

        second_importer = Iaspei(self.file, self.cat)
        second_importer.store()

        sources = self.cat.session.query(catalogue.EventSource)
        agencies = self.cat.session.query(catalogue.Agency)
        events = self.cat.session.query(catalogue.Event)
        origins = self.cat.session.query(catalogue.Origin)
        measures = self.cat.session.query(catalogue.MagnitudeMeasure)

        self.assertEqual(sources.count(),  1)
        self.assertEqual(agencies.count(),  1)
        self.assertEqual(events.count(),  46)
        self.assertEqual(origins.count(),  46)
        self.assertEqual(measures.count(),  61)
Пример #6
0
 def setUp(self):
     self.file = file(DATAFILE_IASPEI)
     self.cat = catalogue.CatalogueDatabase(memory=True, drop=True)
     self.cat.recreate()
     self.csv_importer = Iaspei(self.file, self.cat)