public static ClienteContainer GetInstance() { if (instanciaUnica == null) { instanciaUnica = new ClienteContainer(); } return((ClienteContainer)instanciaUnica); }
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). }
public static ClienteContainer NovoParaTeste() { instanciaUnica = new ClienteContainer(); return((ClienteContainer)instanciaUnica); }