public void RunTest_Integer() { var integerSquareRootAlg = new IntegerSquareRootAlgorithm(); var integerNumber = new IntegerDomain(); var factorizationAlg = new NaiveIntegerFactorizationAlgorithm <int>( integerSquareRootAlg, integerNumber); var value = 12; var expected = new Dictionary <int, int>(); expected.Add(2, 2); expected.Add(3, 1); var actual = factorizationAlg.Run(value); CollectionAssert.AreEquivalent(expected, actual); }
public void RunTest_Integer() { var squareRootAlgorithm = new IntegerSquareRootAlgorithm(); var primeNumberFactory = new PrimeNumbersIteratorFactory(); var integerNumber = new IntegerDomain(); var totientAlgorithm = new EulerTotFuncAlg <int>( squareRootAlgorithm, primeNumberFactory, integerNumber); var values = new[] { 1, 12, 343, 720, 73, 100 }; var expected = new[] { 1, 4, 294, 192, 72, 40 }; for (int i = 0; i < values.Length; ++i) { var actual = totientAlgorithm.Run(values[i]); Assert.AreEqual(expected[i], actual); } }