O documento descreve um exemplo de programação orientada a testes (TDD) para fatorar números em primos utilizando testes automatizados. O programa gera números primos e decompõe um número fornecido em seus fatores primos correspondentes. Os testes verificam se a sequência gerada de primos e a decomposição de um número específico estão corretas.
10. Classes publicclass Decompositor { privatereadonlyIGeradorNumerosPrimos _geradorNumeroPrimos; public Decompositor(IGeradorNumerosPrimosgeradorNumerosPrimos) { this._geradorNumeroPrimos = geradorNumerosPrimos; } publicList<int> DecompoeFatorePrimos(int numero) { var list = newList<int>(); foreach (var primo in this._geradorNumeroPrimos.GetPrimos()) { if (primo == 1) { break; } while (numero % primo == 0) { list.Add(primo); numero /= primo; } } returnlist; } }
11. Programa staticvoidMain(string[] args) { int numero = 30; var gerador = newGeradorPrimosMuitoSimples(); var decompositor = new Decompositor(gerador); var list = decompositor. DecompoeFatorePrimos(numero); Console.WriteLine( string.Format( "{0} = {1}",numero, string.Join(".", list))); Console.ReadKey(); } Resultado => 30 = 2.3.5