Пример #1
0
        public void TestCalorias()
        {
            RandomGenerator r = new RandomGenerator();
            Calorias c = new Calorias();
            var persons = Builder<Person>.CreateListOfSize(tests).
                    All().With(x => x.Age = r.Next(1, 110))
                         .And(x => x.Height = r.Next(tests, 260))
                         .And(x => x.Weight = r.Next(0, 999))
                         .And(x => x.IsMan = r.Next())
                   .Build();
            foreach (Person p in persons)
            {
                float BMR = (float)((10 * p.Weight) + ((6.25 * p.Height) - (5 * p.Age)));
                float expected = BMR;

                if (p.IsMan)
                {
                    BMR += 5;
                }
                else
                {
                    BMR -= 161;
                }
                switch (p.NivelActividad)
                {
                    case NivelActividad.nivelActividad.sedentario:
                        expected *= 1.2f;
                        break;
                    case NivelActividad.nivelActividad.ligeramenteActivo:
                        expected *= 1.375f;
                        break;
                    case NivelActividad.nivelActividad.moderadamenteActivo:
                        expected *= 1.55f;
                        break;
                    case NivelActividad.nivelActividad.muyActivo:
                        expected *= 1.725f;
                        break;
                    case NivelActividad.nivelActividad.extraActivo:
                        expected *= 1.9f;
                        break;
                }

                float value = c.doOperation(p);
                Assert.AreEqual(expected, value);
            }
        }
Пример #2
0
        public float doOperation(Person persona)
        {
            //float carbs = persona.BMR / 3.74f;
            //persona.Carbohidrate = carbs;
            if (persona.BMR==0.0f)
            {
                Calorias c= new Calorias();
                c.doOperation(persona);
            }
            float calorias = 130f * 3.74f;
            float carbs = 0;

            if ((calorias / persona.BMR) >= 0.40 && (calorias / persona.BMR) <= 0.65)
            {

                carbs = 130;
                //Console.WriteLine("Para mantener su peso debe consumir: 130 gramos de carbohidratos");

            }
            else if ((calorias / persona.BMR) < 0.30)
            {

                while ((calorias / persona.BMR) < 0.30)
                {
                    calorias++;
                }

                carbs = ((130 * calorias) / 487.5f);

            }
            else if ((calorias / persona.BMR) > 0.65)
            {

                while ((calorias / persona.BMR) > 0.65)
                {
                    calorias--;
                }
            }
            carbs = ((130 * calorias) / 487.5f);

            return carbs;
        }
Пример #3
0
        public bool seleccionarCalculadora(String calculadora)
        {
            bool esValida = true;

            switch (calculadora)
            {
                case "1":
                    Calorias calorias = new Calorias();
                    Console.WriteLine("Calorias consumidas: " + calorias.doOperation(persona));
                    break;
                case "2":
                    Carbohidratos carbs = new Carbohidratos();
                    Console.WriteLine("Carbohidratos: "+carbs.doOperation(persona));
                    break;
                case "3":
                    PesoIdeal pesoIdeal = new PesoIdeal();
                    Console.WriteLine("BMI: " + pesoIdeal.doOperation(persona));
                    break;
                case "4":
                    GrasaCorporal grasaCorporal = new GrasaCorporal();
                    String temp;
                    try
                    {
                        temp=grasaCorporal.doOperation(persona)+"";
                    }
                    catch (NotSupportedException ex)
                    {
                        temp=ex.Message;
                    }
                    Console.WriteLine("Grasa Corporal: "+temp);
                    break;
                case "5":
                    estaActiva = false;
                    break;
                default:
                    esValida = false;
                    break;
            }

            return esValida;
        }
Пример #4
0
        public void TestCarbohidratos()
        {
            RandomGenerator r = new RandomGenerator();
            Carbohidratos c = new Carbohidratos();
            var persons = Builder<Person>.CreateListOfSize(tests).
                    All().With(x => x.Age = r.Next(1, 100))
                         .And(x => x.Height = r.Next(90, 180))
                         .And(x => x.Weight = r.Next(10, 90))
                         .And(x => x.IsMan = r.Next())
                         .And(x => x.BMR = r.Next(100, 2000))
                         .Random(15).With(x => x.BMR = 0.0f)
                   .Build();
            foreach (Person p in persons)
            {
                Person p2 = new Person();
                p2.Age = p.Age;
                p2.Height = p.Height;
                p2.Weight = p.Weight;
                p2.NivelActividad = p.NivelActividad;
                p2.IsMan = p.IsMan;
                p2.BMR = p.BMR;

                if (p2.BMR == 0.0f)
                {
                    Calorias cal = new Calorias();
                    cal.doOperation(p2);
                }

                float calorias = 130f * 3.74f;
                float expected = 0;

                if ((calorias / p2.BMR) >= 0.40 && (calorias / p2.BMR) <= 0.65)
                {

                    expected = 130;

                }
                else if ((calorias / p2.BMR) < 0.30)
                {

                    while ((calorias / p2.BMR) < 0.30)
                    {
                        calorias++;
                    }

                    expected = ((130 * calorias) / 487.5f);

                }
                else if ((calorias / p2.BMR) > 0.65)
                {

                    while ((calorias / p2.BMR) > 0.65)
                    {
                        calorias--;
                    }
                }
                expected = ((130 * calorias) / 487.5f);
                float value = c.doOperation(p);
                Assert.AreEqual(expected, value);

            }
        }