Exemplo n.º 1
0
        public void TestZeroAndNumber()
        {
            var algo = new KaratsubaMultiplication();

            BigInteger input1 = 0;
            BigInteger input2 = 2236548992111222222;
            BigInteger result = algo.Compute(Input.From <BigInteger, BigInteger>(input1, input2));

            Assert.AreEqual(result, BigInteger.Zero);
        }
Exemplo n.º 2
0
        public void TestSmallAndBigNumbers()
        {
            var algo = new KaratsubaMultiplication();

            BigInteger input1 = 5678;
            BigInteger input2 = 2236548992111222222;
            BigInteger result = algo.Compute(Input.From <BigInteger, BigInteger>(input1, input2));

            Assert.AreEqual(result, input1 * input2);
        }
        public void NonNumber_Characters_Throws_Exception()
        {
            Action invalidExecution = () => KaratsubaMultiplication.Calculate("1s", "1");

            Assert.Throws <ArgumentException>(invalidExecution);
        }
        public void Multiply_Complex_Values(string firstNumber, string secondNumber, int expectedResult)
        {
            var result = KaratsubaMultiplication.Calculate(firstNumber, secondNumber);

            Assert.Equal(expectedResult, result);
        }