public void MultiplicaNumerosPrimeroMasGrande()
        {
            ManejadorKaratsuba manejador = new ManejadorKaratsuba();

                string primerValor = "10000000000000000000000000000000";
                string segundoValor = "3";
                string respuestaEsperada = "30000000000000000000000000000000";

                Assert.AreEqual(manejador.Multiplicar(primerValor, segundoValor), respuestaEsperada);
        }
        public void MultiplicaNumerosGrandes()
        {
            ManejadorKaratsuba manejador = new ManejadorKaratsuba();

            string primerNumero = "10000000000000000000000000000000000000000000000000000000000000000000000000000000";
            string segundoNumero = "9000000000000000000000000000000000000000000000008000000000000000000000000000000";
            string respuestaEsperada = "90000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";

            Assert.AreEqual(manejador.Multiplicar(primerNumero, segundoNumero), respuestaEsperada);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Digite el primer numero");
            string primerNumero = Console.ReadLine().Trim();

            Console.WriteLine("Digite el segundo numero");
            string segundoNumero = Console.ReadLine().Trim();

            ManejadorKaratsuba manejador = new ManejadorKaratsuba();

            string respuesta = string.Format("El resultado es {0}", manejador.Multiplicar(primerNumero,segundoNumero));
            Console.WriteLine(respuesta);
            Console.Read();
        }
        public void MultiplicaNumerosCaracteresEspecialesEnPrimerCampo()
        {
            try
            {
                ManejadorKaratsuba manejador = new ManejadorKaratsuba();

                string primerValor = "90809&8970808";
                string segundoValor = "1000";

                manejador.Multiplicar(primerValor, segundoValor);
            }
            catch (Exception ex){
                Assert.AreEqual(ex.Message, "El primer valor introducido no es valido, verifique que sea un numero de menos de 500 digitos por favor");
            }
        }
 public void MultiplicaNumerosNegativos()
 {
     ManejadorKaratsuba manejador = new ManejadorKaratsuba();
         Assert.AreEqual(manejador.Multiplicar("-4", "-5"), "20");
 }
 public string Multiplicar(string primerValor, string segundoValor)
 {
     ManejadorKaratsuba manejador = new ManejadorKaratsuba();
     return manejador.Multiplicar(primerValor, segundoValor);
 }