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; }
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; }
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); } }
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); } }