Ejemplo n.º 1
0
 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))
Ejemplo n.º 2
0
 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'})
Ejemplo n.º 3
0
 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))
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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:]}
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 def setUpClass(cls):
     cls.mod = ModeloPrueba(unid_tiempo='mes')
Ejemplo n.º 9
0
 def setUpClass(cls):
     # Generar las instancias de los modelos
     cls.mod = ModeloPrueba()