static void Main(string[] args) { // Cria o StopWatch var sw = new Stopwatch(); // Começa a contar o tempo sw.Start(); //Gera uma lista de 1 até o limite de execuções var baseList = Enumerable.Range(1, LimitNumber).ToList(); //Monta uma lista com o número que foi calculado e a quantidade de ocorrências que o mesmo gerou var resolvedList = baseList.Select(c => new Result { Number = c, OcccurencesNumber = CollatzCalculator.ResolveNumber(c) }) .ToList(); //Seleciona o número com o maior número de ocorrências var result = resolvedList.OrderByDescending(c => c.OcccurencesNumber).FirstOrDefault(); // Para de contar o tempo sw.Stop(); // Obtém o tempo que a rotina demorou a executar var tempo = sw.Elapsed; //Monta e exibie a mensagem na tela Console.WriteLine(BuildResult(result.Number, result.OcccurencesNumber)); //Exibe a quantidade em ms em que o código demorou para resolver Console.WriteLine($"tempo de processamento: {tempo.Milliseconds} ms"); //Espera uma ação do usuário Console.ReadKey(); }
public void TestResultOfResultNumberIsOk() { var number = CollatzCalculator.ResolveNumber(13); Assert.IsTrue(number == 10, "O valor está correto"); }
public void TestNegativeNumberToCalculate() { CollatzCalculator.ResolveNumber(-1); }