Example #1
0
        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);
        }
Example #2
0
        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);
        }