public ResultadoEcuacionCuadratica ResolverEcuacionCuadratica(float a, float b, float c)
        {
            var laAccion = new Logica.Accion.ResolverEcuacionCuadratica();
            ResultadoEcuacionCuadratica elResultado = laAccion.ResuelvaEcuacionCuadratica(a, b, c);

            return(elResultado);
        }
Beispiel #2
0
        public void ElHappyDayFlotanteAproximado()

        {
            // preparar el escenario
            float coeficienteA = 4;
            float coeficienteB = 2;
            float coeficienteC = -3;
            ResultadoEcuacionCuadratica elResultadoActual;
            var elResultadoEsperado = new ResultadoEcuacionCuadratica();

            elResultadoEsperado.PrimeraRaiz   = -1.15137; elResultadoEsperado.SegundaRaiz = 0.65137;
            elResultadoEsperado.Discriminante = 52;
            var laEspecificacion = new MiLogicaDeNegocio.Logica.Especificacion.ResuelvaEcuacionCuadratica();

            // ejecutar la prueba
            elResultadoActual = laEspecificacion.ResolverEcuacionCuadratica(coeficienteA, coeficienteB, coeficienteC);

            // verificar el resultado obtenido
            Assert.AreEqual(elResultadoEsperado.Discriminante, elResultadoActual.Discriminante);
            // verificar el resultado obtenido
            Assert.IsTrue(
                (Math.Round((double)elResultadoEsperado.PrimeraRaiz, numDecimales) == Math.Round((double)elResultadoActual.PrimeraRaiz, numDecimales)) ||
                (Math.Round((double)elResultadoEsperado.PrimeraRaiz, numDecimales) == Math.Round((double)elResultadoActual.SegundaRaiz, numDecimales))
                );
            Assert.IsTrue(
                (Math.Round((double)elResultadoEsperado.SegundaRaiz, numDecimales) == Math.Round((double)elResultadoActual.PrimeraRaiz, numDecimales)) ||
                (Math.Round((double)elResultadoEsperado.SegundaRaiz, numDecimales) == Math.Round((double)elResultadoActual.SegundaRaiz, numDecimales))
                );

            Assert.AreEqual(elResultadoEsperado.Discriminante, elResultadoActual.Discriminante);
        }
        internal ResultadoEcuacionCuadratica ResuelvaEcuacionCuadratica(float a, float b, float c)
        {
            var elResultado = new ResultadoEcuacionCuadratica();

            elResultado.PrimeraRaiz = elResultado.SegundaRaiz = null;
            // validar las entradas
            var laValidacion = new Validacion.EcuacionesCuadraticas();

            if (laValidacion.AEsDiferenteDeCero(a))
            {
                elResultado.Discriminante = CalcularDiscriminante(a, b, c);
                if (laValidacion.ElDiscriminanteEsMayorOIgualQueCero(elResultado.Discriminante))
                {
                    elResultado.PrimeraRaiz = CalcularRaiz(a, b, c, elResultado.Discriminante, true);
                    elResultado.SegundaRaiz = CalcularRaiz(a, b, c, elResultado.Discriminante, false);
                }
            }
            return(elResultado);
        }
Beispiel #4
0
        public void ElValorDeAEsCero()

        {
            // preparar el escenario
            float coeficienteA = 0;
            float coeficienteB = 123;
            float coeficienteC = 1234;
            ResultadoEcuacionCuadratica elResultadoActual;
            var elResultadoEsperado = new ResultadoEcuacionCuadratica();

            elResultadoEsperado.PrimeraRaiz = elResultadoEsperado.SegundaRaiz = null;
            var laEspecificacion = new MiLogicaDeNegocio.Logica.Especificacion.ResuelvaEcuacionCuadratica();

            // ejecutar la prueba
            elResultadoActual = laEspecificacion.ResolverEcuacionCuadratica(coeficienteA, coeficienteB, coeficienteC);

            // verificar el resultado obtenido
            Assert.AreEqual(elResultadoEsperado.PrimeraRaiz, elResultadoActual.PrimeraRaiz);
            Assert.AreEqual(elResultadoEsperado.SegundaRaiz, elResultadoActual.SegundaRaiz);
        }