public void shouldGetActivityLevelTypeFromName() { var activityLevelTypeRepositoryMock = new Mock<IActivityLevelTypeRepository>(); var expectedActivityLevel = new ActivityLevelType(); var expectedLevelToGet = "Medel"; activityLevelTypeRepositoryMock.Setup(x => x.GetByName(It.Is<string>(y => y == expectedLevelToGet))).Returns(expectedActivityLevel); var result = new ActivityLevelTypeBusinessLogic(activityLevelTypeRepositoryMock.Object).GetActivityLevelType(expectedLevelToGet); Assert.That(result, Is.SameAs(expectedActivityLevel)); }
public void shouldGetDailyCalorieNeed() { const decimal weight = 59; const decimal height = 168; const int age = 55; var female = new GenderType {GenderBMRFactor = -161}; var activityLevel = new ActivityLevelType { EnergyFactor = 1.2M }; var dailyCalorieNeed = new CalorieCalculator().GetDailyCalorieNeed(weight, height, age, female, activityLevel); Assert.That(dailyCalorieNeed, Is.EqualTo(1449.372m)); }
public void shouldShowStoredActivityLevelForLoggedinUser() { var expectedActivityLevel = new ActivityLevelType { Name = "selected" }; var userProfileBusinessLogicMock = new Mock<IUserProfileBusinessLogic>(); userProfileBusinessLogicMock.Setup(x => x.GetActivityLevel(It.IsAny<User>())).Returns(expectedActivityLevel); var activityLevelBusinessLogicMock = new Mock<IActivityLevelTypeBusinessLogic>(); activityLevelBusinessLogicMock.Setup(x => x.GetActivityLevelTypes()).Returns(new List<ActivityLevelType> { new ActivityLevelType { Name = "selected" }, new ActivityLevelType { Name = "notSelected" } }); var activityLevelViewTypes = new ActivityLevelViewTypeConverter(userProfileBusinessLogicMock.Object, activityLevelBusinessLogicMock.Object).GetViewTypes(new User()); var selectedActivityLevel = (from activityLevel in activityLevelViewTypes where activityLevel.Selected select activityLevel).FirstOrDefault(); userProfileBusinessLogicMock.VerifyAll(); Assert.That(selectedActivityLevel.Text, Is.SameAs(expectedActivityLevel.Name)); }
public void shouldGetBMR() { const decimal weight = 83M; const int age = 24; const int height = 174; var gender = new GenderType{Name="Man"}; var activityLevel = new ActivityLevelType { Name = "Medel" }; var calorieCalculator = new Mock<ICalorieCalculator>(); var userProfile = new UserProfile { Weight = weight, Age = age, Length = height , Gender = gender, ActivityLevel = activityLevel, User = User }; var userProfileRepositoryMock = new Mock<IUserProfileRepository>(); userProfileRepositoryMock.Setup(x => x.GetByUserId(User.Id)).Returns(userProfile); calorieCalculator.Setup(x => x.GetBMR(weight, height, age, gender)).Returns(123); var result = new UserProfileBusinessLogic(userProfileRepositoryMock.Object, null, null, calorieCalculator.Object).GetBMR(User); Assert.That(result, Is.EqualTo(123)); }
public decimal GetEnergyFactor(ActivityLevelType activityLevelType) { return activityLevelType.EnergyFactor; }
//http://www.bmi-calculator.net/bmr-calculator/harris-benedict-equation/ public decimal GetDailyCalorieNeed(decimal weight, decimal height, int age, GenderType gender, ActivityLevelType activityLevel) { return GetBMR(weight, height, age, gender) * activityLevel.EnergyFactor; }
public void shouldGetActivityLevel() { var expectedActivityLevel = new ActivityLevelType(); var userProfile = new UserProfile { ActivityLevel = expectedActivityLevel, User = User }; AssertProperty(expectedActivityLevel, User, userProfile, x => x.GetActivityLevel(User)); }
public void shouldSaveProfile() { const decimal expectedIdealWeight = 64; const decimal expectedLength = 1.83M; const decimal expectedWeight = 78M; const int expectedAge = 23; const string expectedGenderToGet = "Man"; const string expectedActivityLevelToGet = "Medel"; var expectedGender = new GenderType(); var expectedActivityLevel = new ActivityLevelType(); var genderTypeBusinessLogicMock = new Mock<IGenderTypeBusinessLogic>(); genderTypeBusinessLogicMock.Setup(x => x.GetGenderType(expectedGenderToGet)).Returns(expectedGender); var activityLevelTypeBusinessLogicMock = new Mock<IActivityLevelTypeBusinessLogic>(); activityLevelTypeBusinessLogicMock.Setup(x => x.GetActivityLevelType(expectedActivityLevelToGet)).Returns(expectedActivityLevel); var userProfileRepositoryMock = new Mock<IUserProfileRepository>(); userProfileRepositoryMock.Setup(x => x.SaveOrUpdate(It.Is<UserProfile>(y => y.Weight == expectedWeight && y.Length == expectedLength && y.IdealWeight == expectedIdealWeight && y.User.Id == User.Id && y.Age == expectedAge && y.Gender == expectedGender && y.ActivityLevel == expectedActivityLevel))); new UserProfileBusinessLogic(userProfileRepositoryMock.Object, genderTypeBusinessLogicMock.Object, activityLevelTypeBusinessLogicMock.Object, null).SaveProfile(User, expectedIdealWeight, expectedLength, expectedWeight, expectedAge, expectedGenderToGet, expectedActivityLevelToGet); userProfileRepositoryMock.VerifyAll(); activityLevelTypeBusinessLogicMock.VerifyAll(); }