Example #1
0
        static void Main(string[] args)
        {
            IGeradorDoProximoNumeroDeCollatz     geradorDoProximoNumeroDeCollatz     = new GeradorDoProximoNumeroDeCollatz();
            IContadorDeSequenciaDeCollatz        geradorDeSequenciaCollatz           = new ContadorDeSequenciaDeCollatz(geradorDoProximoNumeroDeCollatz);
            ICalculadorDaMaiorSequenciaDeCollatz calculadorDaMaiorSequenciaDeCollatz = new CalculadorDaMaiorSequenciaDeCollatz(geradorDeSequenciaCollatz);

            var maiorNumeroComSequencia = calculadorDaMaiorSequenciaDeCollatz.Calcular(1, 1000000);

            Console.WriteLine($"{maiorNumeroComSequencia} é número com maior sequencia de Collatz");
        }
        public void Setup()
        {
            _contadorDeSequenciaDeCollatz = new Mock <IContadorDeSequenciaDeCollatz>();
            _contadorDeSequenciaDeCollatz.Setup(contador => contador.ContarParaNumero(1)).Returns(1);
            _contadorDeSequenciaDeCollatz.Setup(contador => contador.ContarParaNumero(2)).Returns(2);
            _contadorDeSequenciaDeCollatz.Setup(contador => contador.ContarParaNumero(3)).Returns(7);
            _contadorDeSequenciaDeCollatz.Setup(contador => contador.ContarParaNumero(4)).Returns(3);

            _calculador = new CalculadorDaMaiorSequenciaDeCollatz(_contadorDeSequenciaDeCollatz.Object);
        }