예제 #1
0
        public static ClienteContainer GetInstance()
        {
            if (instanciaUnica == null)
            {
                instanciaUnica = new ClienteContainer();
            }

            return((ClienteContainer)instanciaUnica);
        }
예제 #2
0
        public void SimulacaoDeErroNaColetaDosDados()
        {
            var container = ClienteContainer.NovoParaTeste();

            long numeroDeLeituras = 0;

            var inicio = DateTime.Now;

            while (container.CargasRealizadas < 3)
            {
                for (int i = 1; i < 10; i++)
                {
                    numeroDeLeituras++;
                    Assert.AreEqual(i, container.ObterUm(i).Id);
                }
            }

            var fim = DateTime.Now;

            var tempoDecorrido = fim.Subtract(inicio);


            /*
             * Com Erro
             */

            var containerComErro = ClienteContainer.NovoParaTeste();

            containerComErro.ErroNaColeta = 2;

            long numeroDeLeiturasComErro = 0;

            var inicioComErro = DateTime.Now;

            while (containerComErro.CargasRealizadas < 3)
            {
                for (int i = 1; i < 10; i++)
                {
                    numeroDeLeiturasComErro++;
                    Assert.AreEqual(i, containerComErro.ObterUm(i).Id);
                }
            }

            var fimComErro = DateTime.Now;

            var tempoDecorridoComErro = fimComErro.Subtract(inicioComErro);

            Assert.IsTrue(numeroDeLeiturasComErro > numeroDeLeituras); //Porque o tempo de execução das leituras é maior em 50% (TempoDeValidadeEmSegundos = 2 e TempoDeValidadeDaCargaParaRepeticaoDaColetaEmSegundos = 1)
            Assert.IsTrue(tempoDecorridoComErro > tempoDecorrido);     //Porque quando ocorre um erro a Quantidade de Cargas Realizadas não é incrementado e o tempo de Validede é estendido. Neste caso em mais um segundo (TempoDeValidadeDaCargaParaRepeticaoDaColetaEmSegundos = 1).
        }
예제 #3
0
        public static ClienteContainer NovoParaTeste()
        {
            instanciaUnica = new ClienteContainer();

            return((ClienteContainer)instanciaUnica);
        }