コード例 #1
0
    def test_source_model_to_hazardlib_converter(self):
        """
        Tests the converter of a source model to an oq-hazardlib format
        """
        # Load a full source model
        parser = nrmlSourceModelParser(MODEL_PATH)
        source_model = parser.read_file(2.0)
        oq_source_model = source_model.convert_to_oqhazardlib(TOM,
                                                              1.0,
                                                              10.0,
                                                              10.0,
                                                              True)
        self.assertIsInstance(oq_source_model[0], AreaSource)
        self.assertIsInstance(oq_source_model[1], AreaSource)
        self.assertIsInstance(oq_source_model[2], PointSource)
        self.assertIsInstance(oq_source_model[3], SimpleFaultSource)
        self.assertIsInstance(oq_source_model[4], ComplexFaultSource)

        source_model.sources[3] = 'Rubbish!'
        with self.assertRaises(ValueError) as ver:
            oq_source_model = source_model.convert_to_oqhazardlib(TOM,
                                                                  1.0,
                                                                  10.0,
                                                                  10.0,
                                                                  True)

            self.assertEqual(str(ver.exception),
                             'Source type not recognised!')
コード例 #2
0
    def test_source_model_to_hazardlib_converter(self):
        """
        Tests the converter of a source model to an oq-hazardlib format
        """
        # Load a full source model
        parser = nrmlSourceModelParser(MODEL_PATH)
        source_model = parser.read_file(2.0)
        oq_source_model = source_model.convert_to_oqhazardlib(TOM,
                                                              1.0,
                                                              10.0,
                                                              10.0,
                                                              True)
        self.assertIsInstance(oq_source_model[0], AreaSource)
        self.assertIsInstance(oq_source_model[1], AreaSource)
        self.assertIsInstance(oq_source_model[2], PointSource)
        self.assertIsInstance(oq_source_model[3], SimpleFaultSource)
        self.assertIsInstance(oq_source_model[4], ComplexFaultSource)

        source_model.sources[3] = 'Rubbish!'
        with self.assertRaises(ValueError) as ver:
            oq_source_model = source_model.convert_to_oqhazardlib(TOM,
                                                                  1.0,
                                                                  10.0,
                                                                  10.0,
                                                                  True)

            self.assertEqual(str(ver.exception),
                             'Source type not recognised!')
コード例 #3
0
 def test_nrml_writer(self):
     '''
     Tests the source model writer
     '''
     # Load a full source model
     parser = nrmlSourceModelParser(MODEL_PATH)
     source_model = parser.read_file(2.0)
     # Write to file
     source_model.serialise_to_nrml(TEST_PATH, True)
     # Load file back
     parser = nrmlSourceModelParser(TEST_PATH)
     source_model_test = parser.read_file(2.0)
     orig_sources = sorted(source_model.sources,
                           key=operator.attrgetter('name'))
     test_sources = sorted(source_model_test.sources,
                           key=operator.attrgetter('name'))
     for orig_source, test_source in zip(orig_sources, test_sources):
         self.assertEqual(orig_source.name, test_source.name)
         self.assertEqual(orig_source.mag_scale_rel.__class__.__name__,
                          test_source.mag_scale_rel.__class__.__name__)
     # Remove the test file
     os.system('rm ' + TEST_PATH)
コード例 #4
0
 def test_nrml_writer(self):
     '''
     Tests the source model writer
     '''
     # Load a full source model
     parser = nrmlSourceModelParser(MODEL_PATH)
     source_model = parser.read_file(2.0)
     # Write to file
     source_model.serialise_to_nrml(TEST_PATH, True)
     # Load file back
     parser = nrmlSourceModelParser(TEST_PATH)
     source_model_test = parser.read_file(2.0)
     orig_sources = sorted(source_model.sources,
                           key=operator.attrgetter('name'))
     test_sources = sorted(source_model_test.sources,
                           key=operator.attrgetter('name'))
     for orig_source, test_source in zip(orig_sources, test_sources):
         self.assertEqual(orig_source.name, test_source.name)
         self.assertEqual(orig_source.mag_scale_rel.__class__.__name__,
                          test_source.mag_scale_rel.__class__.__name__)
     # Remove the test file
     os.remove(TEST_PATH)
コード例 #5
0
 def test_execution_full(self):
     """
     Tests the execution of the reader for the full model
     """
     parser = nrmlSourceModelParser(self.nrml_file)
     model = parser.read_file("XXX")
     # Basic tests
     self.assertEqual(model.id, "XXX")
     self.assertEqual(model.name, "Some Source Model")
     self.assertEqual(len(model.sources), 5)
     # Area Source
     self._check_area_source(model.sources[0])
     self._check_point_source(model.sources[2])
     self._check_simple_fault_source(model.sources[3])
     self._check_complex_fault_source(model.sources[4])
コード例 #6
0
 def test_execution_full(self):
     """
     Tests the execution of the reader for the full model
     """
     parser = nrmlSourceModelParser(self.nrml_file)
     model = parser.read_file("XXX")
     # Basic tests
     self.assertEqual(model.id, "XXX")
     self.assertEqual(model.name, "Some Source Model")
     self.assertEqual(len(model.sources), 5)
     # Area Source
     self._check_area_source(model.sources[0])
     self._check_point_source(model.sources[2])
     self._check_simple_fault_source(model.sources[3])
     self._check_complex_fault_source(model.sources[4])