Example #1
0
        /// <summary>
        /// Método de teste responsável por acionar o método ConsultarSemaforosImpactadosPorCronograma da classe SemaforoSingleton.
        /// Obs: é utilizado pelas threads em paralelo.
        /// </summary>
        /// <param name="cronogramaIntervalo">Objeto (lista) contendo o Guid do cronograma e seu respectivo intervalo (range)</param>
        public void AcionarConsultaSemaforosImpactadosPorCronograma(object cronogramaIntervalo)
        {
            int tempoEspera = ((cronogramaIntervalo)cronogramaIntervalo).tempoDeEspera;

            Thread.Sleep(tempoEspera);

            Debug.WriteLine(String.Format("Thread: {0} acessou o método aguarde com os seguintes dados, Guid: {1}, min: {2}, max: {3}", Thread.CurrentThread.Name,
                                          ((cronogramaIntervalo)cronogramaIntervalo).oidCronograma, ((cronogramaIntervalo)cronogramaIntervalo).inicio, ((cronogramaIntervalo)cronogramaIntervalo).final));

            SemaforoSingleton.GetInstancia().ConsultarSemaforosImpactadosPorCronograma(((cronogramaIntervalo)cronogramaIntervalo).oidCronograma, ((cronogramaIntervalo)cronogramaIntervalo).inicio, ((cronogramaIntervalo)cronogramaIntervalo).final, new Hashtable());
        }
 /// <summary>
 /// Método responsável por setar a instância mockada na classe pai (SemaforoSingleton)
 /// </summary>
 /// <param name="semaforo">Instancia do semáforo</param>
 public static void SetInstancia(SemaforoSingleton semaforo)
 {
     instanciaSemaforoSingleton = semaforo;
 }