Пример #1
0
    def test_reset_div(self):
        """
        Calculamos 3 / 1. Y reseteamos
        """
        proceso_padre = Proceso(proc_id=1)
        f_div = funciones_ponderadas['div']
        proceso_div = Proceso(proc_id=2, **f_div)
        result = proceso_padre.enviar_pedido((3, 1), proceso_div, 8)

        self.assertEqual(result, 3)
        self.assertEqual(proceso_div.ya_use, proceso_div.rafaga)
        self.assertEqual(proceso_div.estado, 'terminado')

        proceso_div.reset()
        self.assertEqual(proceso_div.ya_use, 0)
        self.assertEqual(proceso_div.estado, 'listo')
Пример #2
0
    def test_ej_combinado(self):
        """
        Calculamos 20/4 + (4 * 3) + 1
        """
        proceso_padre = Proceso(proc_id=1)
        f_suma = funciones_ponderadas['suma']
        proceso_suma = Proceso(proc_id=2, **f_suma)

        f_prod = funciones_ponderadas['prod']
        proceso_prod = Proceso(proc_id=3, **f_prod)

        f_div = funciones_ponderadas['div']
        proceso_div = Proceso(proc_id=4, **f_div)

        mi_prod = proceso_padre.enviar_pedido((4, 3), proceso_prod, 8)
        suma_parc = proceso_padre.enviar_pedido((mi_prod, 1), proceso_suma, 5)

        mi_div = proceso_padre.enviar_pedido((20, 4), proceso_div, 8)

        proceso_suma.reset()
        ret = proceso_padre.enviar_pedido((mi_div, suma_parc), proceso_suma, 5)

        self.assertEqual(ret, 18)