def test_generación_auto_mds_modelo_erróneo(símismo): """ Asegurarse que un fuente erróneo devuelva un error. """ with símismo.assertRaises(FileNotFoundError): generar_mds('recursos/MDS/Yo no existo.mdl')
def test_generación_auto_mds_con_error_extensión(símismo): """ Comprobar que extensiones no reconocidas devuelvan un error. """ with símismo.assertRaises(ValueError): generar_mds('Modelo con extensión no reconocida.வணக்கம்')
def test_generación_auto_mds_con_error_extensión(símismo): """ Comprobar que extensiones no reconocidas devuelvan un error. """ with símismo.assertRaises(ValueError): generar_mds(os.path.join(dir_act, 'recursos/MDS/Modelo con extensión no reconocida.வணக்கம்'))
def test_generación_auto_mds_con_motor_especificado(símismo): """ Comprobar la generación de modelos DS con el motor de simulación especificado. """ mod = generar_mds(tipos_modelos['PySDVensim']['prueba'], motor=ModeloPySD) símismo.assertIsInstance(mod, ModeloPySD) mod = generar_mds(tipos_modelos['PySDVensim']['prueba'], motor=ModeloVensim, enforzar_instalado=False) símismo.assertIsInstance(mod, ModeloVensim)
def setUpClass(cls): cls.paráms = { 'taza de contacto': { '708': 81.25, '1010': 50 }, 'taza de infección': { '708': 0.007, '1010': 0.005 }, 'número inicial infectado': { '708': 22.5, '1010': 40 }, 'taza de recuperación': { '708': 0.0375, '1010': 0.050 } } cls.mod = mod = generar_mds(arch_mds) mod.geog = Geografía('prueba', archivo=arch_csv_geog) mod.cargar_calibs(cls.paráms) cls.datos = mod.simular_en(t_final=100, en=['708', '1010'], vars_interés=[ 'Individuos Suceptibles', 'Individuos Infectados', 'Individuos Resistentes' ]) mod.borrar_calibs()
def test_generar_sin_submodelos(símismo): mds = generar_mds(archivo=arch_mds) bf = ModeloPrueba(unid_tiempo='mes') cnctd = Conectado() cnctd.estab_bf(bf) cnctd.estab_mds(mds) símismo.assertSetEqual(set(cnctd.modelos), {'mds', 'bf'})
def __init__(símismo, archivo, nombre='mds'): super().__init__(archivo=archivo, nombre=nombre) from tinamit.EnvolturasMDS import generar_mds símismo.mod = None # type: EnvolturaMDS símismo._estab_mod(generar_mds(archivo=archivo)) símismo.combin_incrs = símismo.mod.combin_pasos símismo.editado = False
def _iniciar_modelo(símismo, tiempo_final, nombre_corrida, vals_inic): from tinamit.EnvolturasMDS import generar_mds if símismo.mod is None or símismo.editado: símismo.publicar_modelo() símismo._estab_mod(generar_mds()) símismo.editado = False símismo.mod.corrida_activa = nombre_corrida símismo.mod._iniciar_modelo(tiempo_final=tiempo_final, nombre_corrida=nombre_corrida, vals_inic=vals_inic)
def test_generación_auto_mds(símismo): """ Verificamos que funcione la generación automática de modelos DS a base de un fuente. """ for m, d in tipos_modelos.items(): with símismo.subTest(ext=os.path.splitext(d['prueba'])[1], envlt=d['envlt'].__name__): try: mod = generar_mds(d['prueba']) # Generar el modelo símismo.assertIsInstance(mod, EnvolturaMDS) except ValueError: # No hay problema si el MDS no se pudo leer en la computadora actual. De pronto no estaba instalado. pass
def setUpClass(cls): cls.paráms = { 'taza de contacto': 81.25, 'taza de infección': 0.007, 'número inicial infectado': 22.5, 'taza de recuperación': 0.0375 } cls.mod = generar_mds(arch_mds) cls.datos = cls.mod.simular(t_final=100, vals_inic=cls.paráms, vars_interés=[ 'Individuos Suceptibles', 'Individuos Infectados', 'Individuos Resistentes' ])
def estab_mds(símismo, archivo_mds): """ Establecemos el modelo de dinámicas de los sistemas (:class:`~tinamit.EnvolturasMDS.EnvolturasMDS`). :param archivo_mds: El fuente del modelo DS, o el modelo sí mismo. :type archivo_mds: str | EnvolturaMDS """ # Generamos un objeto de modelo DS. if isinstance(archivo_mds, str): modelo_mds = generar_mds(archivo=archivo_mds) elif isinstance(archivo_mds, EnvolturaMDS): modelo_mds = archivo_mds else: raise TypeError(_('Debes dar o un modelo DS, o la dirección hacia el fuente de uno.')) # Conectamos el modelo DS. símismo.agregar_modelo(modelo=modelo_mds) # Y hacemos la referencia rápida. símismo.mds = modelo_mds
def setUpClass(cls): cls.mds = generar_mds(archivo=arch_mds)