public double Integral(double a, double b, double k, int exp, string type)
 {
     double resultado = 0.0;
     switch (type) {
         case "Simple":
             Simple integralSimple = new Simple(a, b);
             resultado = integralSimple.ObtenerSolucion();
             break;
         case "Constante":
             Constante integralConstante = new Constante(a, b, k);
             resultado = integralConstante.ObtenerSolucion();
             break;
         case "Potencia":
             Potencia integralPotencia = new Potencia(a, b, exp);
             resultado = integralPotencia.ObtenerSolucion();
             break;
         case "Logaritmo":
             Logaritmo integralLogaritmo = new Logaritmo(a, b);
             resultado = integralLogaritmo.ObtenerSolucion();
             break;
         case "Exponencial":
             Exponencial integralExponencial = new Exponencial(a, b);
             resultado = integralExponencial.ObtenerSolucion();
             break;
         case "Seno":
             Seno integralSeno = new Seno(a, b);
             resultado = integralSeno.ObtenerSolucion();
             break;
         case "Coseno":
             Coseno integralCoseno = new Coseno(a, b);
             resultado = integralCoseno.ObtenerSolucion();
             break;
     }
     return resultado;
 }
 public void IntegralLogaritmo()
 {
     Logaritmo integral = new Logaritmo(1, 2);
     double realResult = integral.ObtenerSolucion();
     double expectedResult = 0.693147180559945;
     Assert.IsTrue(realResult == expectedResult, string.Format("Error en la prueba. El valor esperado era [{0}] y se " +
                        "obtuvo [{1}].", expectedResult, realResult));
 }