def test_unidades_tiempo_mes_y_día(símismo): bf = ModeloPrueba(unid_tiempo='días') cnctd = Conectado(bf, símismo.mds) cnctd.conectar(var_mds='Aleatorio', var_bf='Escala', mds_fuente=False) res = cnctd.simular(10, vars_interés=['bf_Escala', 'mds_Aleatorio']) npt.assert_array_equal(res['mds_Aleatorio'], np.arange(11 * 30, step=30))
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 test_unidades_tiempo_definidas(símismo): bf = ModeloPrueba(unid_tiempo='દિવસ') cnctd = Conectado(bf, símismo.mds) cnctd.conectar(var_mds='Aleatorio', var_bf='Escala', mds_fuente=False) cnctd.estab_conv_tiempo(mod_base='mds', conv=30) res = cnctd.simular(10, vars_interés=['bf_Escala', 'mds_Aleatorio']) npt.assert_array_equal(res['mds_Aleatorio'], np.arange(11 * 30, step=30))
def setUpClass(cls): cls.mod = ModeloPrueba(unid_tiempo='días') cls.datos = { 'tiempo': np.arange(21), 'Vacío': np.random.random(21) } # 21 días # noinspection PyTypeChecker cls.datos_fecha = { 'tiempo': np.arange('1999-12-31', '2000-01-20', dtype='datetime64'), 'Vacío': np.random.random(20) } # 21 días
def setUpClass(cls): cls.n_ciclos = 3 cls.tmñ_ciclo = 12 cls.tmñ_blqs = [1, 3, 8] det = 'det' indet = 'indet' blq = 'blq' unid_tiempo = 'meses' cls.mods_bf = { det: EjDeterminado(nombre=det, n=cls.tmñ_ciclo, unid_tiempo=unid_tiempo), indet: EjIndeterminado(nombre=indet, rango_n=(2, 10), unid_tiempo=unid_tiempo), blq: EjBloques(nombre=blq, blqs=cls.tmñ_blqs, unid_tiempo=unid_tiempo) } mod_base = ModeloPrueba(nombre='base', unid_tiempo=unid_tiempo) cls.mods_cnct = {nmbr: SuperConectado(modelos=[mod_base, bf]) for nmbr, bf in cls.mods_bf.items()} for nmbr, mod in cls.mods_cnct.items(): bf = cls.mods_bf[nmbr] mod.conectar_vars('ciclo', modelo_fuente=bf, var_recip='Vacío', modelo_recip=mod_base) mod.conectar_vars('pasito', modelo_fuente=bf, var_recip='Vacío2', modelo_recip=mod_base) mod.conectar_vars('Escala', modelo_fuente=mod_base, var_recip='ingr_último', modelo_recip=bf) mod.conectar_vars('Escala', modelo_fuente=mod_base, var_recip='ingr_suma', modelo_recip=bf) mod.conectar_vars('Escala', modelo_fuente=mod_base, var_recip='ingr_prom', modelo_recip=bf) mod.conectar_vars('Escala', modelo_fuente=mod_base, var_recip='ingr_máx', modelo_recip=bf) mod.conectar_vars('Escala', modelo_fuente=mod_base, var_recip='ingr_directo', modelo_recip=bf) if nmbr == 'blq': mod.conectar_vars('bloque', modelo_fuente=bf, var_recip='Vacío3', modelo_recip=mod_base) bf.estab_proces_ingr('ingr_último', 'último') bf.estab_proces_ingr('ingr_suma', 'suma') bf.estab_proces_ingr('ingr_prom', 'prom') bf.estab_proces_ingr('ingr_máx', 'máx') cls.res = {nmbr: mod.simular(t_final=cls.tmñ_ciclo * cls.n_ciclos) for nmbr, mod in cls.mods_cnct.items()} escala = [np.arange(c * cls.tmñ_ciclo + 1, c * cls.tmñ_ciclo + cls.tmñ_ciclo + 1) for c in range(cls.n_ciclos)] tmñ_ciclos_indet = np.array([x for x in Counter(cls.res[indet]['indet_ciclo'].values).values()]) tmñ_ciclos_indet[0] -= 1 cumsum_indet = np.cumsum([x for x in tmñ_ciclos_indet]) escala_indet = [np.arange(cumsum_indet[i] + 1, x + 1) for i, x in enumerate(cumsum_indet[1:])] cls.escala = { det: escala, blq: escala, indet: escala_indet } cls.tmñ_ciclo_mods = {det: [cls.tmñ_ciclo] * cls.n_ciclos, blq: [cls.tmñ_ciclo] * cls.n_ciclos, indet: tmñ_ciclos_indet[1:]}
def setUpClass(cls): cls.mod = ModeloPrueba(unid_tiempo='días') cls.geog = Geografía('Prueba Guatemala', archivo=arch_csv_geog) cls.datos = { '708': { 'tiempo': np.arange(21), 'Vacío': np.random.random(21) }, '701': { 'tiempo': np.arange(21), 'Vacío': np.random.random(21) }, '7': { 'tiempo': np.arange(21), 'Vacío': np.random.random(21) } } # 3 lugares, 21 días
def test_crear_desde_modelobf(símismo): # Comprobar creación de la envoltura directamente desde un modelo BF. modelo_bf = ModeloPrueba() envlt = EnvolturaBF(modelo_bf) símismo.assertIsInstance(envlt, EnvolturaBF)
def setUpClass(cls): cls.mod = ModeloPrueba(unid_tiempo='mes')
def setUpClass(cls): # Generar las instancias de los modelos cls.mod = ModeloPrueba()