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_BigInteger() { var integerSquareRootAlg = new BigIntSquareRootAlgorithm(); var integerNumber = new BigIntegerDomain(); var factorizationAlg = new NaiveIntegerFactorizationAlgorithm <BigInteger>( integerSquareRootAlg, integerNumber); var value = BigInteger.Parse("1000000000001"); var expected = new Dictionary <BigInteger, int>(); expected.Add(137, 1); expected.Add(73, 1); expected.Add(BigInteger.Parse("99990001"), 1); var actual = factorizationAlg.Run(value); CollectionAssert.AreEquivalent(expected, actual); }