public void Test_End_To_End() { string input = "9\r\n" + "8\r\n" + "nothing\r\n" + "13\r\n" + "-87\r\n" + "2"; string expected = "9:3,3\r\n" + "8:2,2,2\r\n" + "13:13\r\n" + "-87:1\r\n" + "2:2\r\n"; var standardOut = new StringWriter(); var errorOut = new StringWriter(); var logger = new ConsoleLogger(standardOut, errorOut); IPrimeFactorCalculator calculator = new PrimeFactorCalculator(); // The main calculator. calculator = new PrimeFactorOutputWriter(calculator, logger); // Our formatter for dumping to the console calculator = new PrimeFactorExceptionLogger(calculator, logger); // An exception handler that can log errors for us. var path = TempFileHelpers.CreateTestFile(input); IIntegerReader reader = new IntegerFileReader(path); int? number; while ((number = reader.ReadNext()) != null) { calculator.Execute(number.Value); } Assert.AreEqual(expected, standardOut.ToString()); Assert.AreEqual(string.Empty, errorOut.ToString()); }
public void Verify_GetLargestFactor() { long solution = PrimeFactorCalculator.GetLargestPrimeFactor(10); Assert.AreEqual(5, solution); solution = PrimeFactorCalculator.GetLargestPrimeFactor(21); Assert.AreEqual(7, solution); solution = PrimeFactorCalculator.GetLargestPrimeFactor(81); Assert.AreEqual(3, solution); solution = PrimeFactorCalculator.GetLargestPrimeFactor(2); Assert.AreEqual(2, solution); }
public long GetSmallestNumberDivisibleByNumbersUpTo(long topNumber) { List <long> primeFactors = new List <long>(); for (int i = 1; i < topNumber; i++) { primeFactors = CombineLists(primeFactors, PrimeFactorCalculator.GetPrimeFactors(i)); } long result = 1; foreach (long primeFactor in primeFactors) { Console.Write("{0}, ", primeFactor); result *= primeFactor; } return(result); }
public void Verify_Prime_Factors_Of_A_Test_Case() { long solution = PrimeFactorCalculator.GetLargestPrimeFactor(2520); Assert.AreEqual(7, solution); }
public void Verify_Prime_Factors_Of_A_Large_Number() { long solution = PrimeFactorCalculator.GetLargestPrimeFactor(13195); Assert.AreEqual(29, solution); }
public void Verify_Largest_Prime_Factors_Of_TwentySeven() { long solution = PrimeFactorCalculator.GetLargestPrimeFactor(27); Assert.AreEqual(3, solution); }
public void Init() { calculator = new PrimeFactorCalculator(); }
public void SetUp() { _calculator = new PrimeFactorCalculator(); }
public void Test_For_Two() { var calculator = new PrimeFactorCalculator(); CollectionAssert.AreEqual(calculator.Execute(2).ToList(), new List<int>() { 2 }); }
public long Solve(long solveFor) { return(PrimeFactorCalculator.GetLargestPrimeFactor(solveFor)); }