Пример #1
0
        public void DaysCompleted_Deserialized_Equals_Serialized(int[] daysCompleted)
        {
            // Arrange
            WeeklyGoal             goal       = GetWeeklyGoal();
            DataContractSerializer serializer = new DataContractSerializer(typeof(WeeklyGoal));

            foreach (int i in daysCompleted)
            {
                goal.DaysCompleted[i] = true;
            }

            // Act
            using (FileStream file = File.Create(testPath))
            {
                serializer.WriteObject(file, goal);
            }

            WeeklyGoal deserialized;

            using (FileStream file = File.OpenRead(testPath))
            {
                deserialized = (WeeklyGoal)serializer.ReadObject(file);
            }

            // Assert
            // ("Two arrays, collections or IEnumerables are considered equal if they have the same dimensions
            //  and if each of the corresponding elements is equal.")
            Assert.That(deserialized.DaysCompleted, Is.EqualTo(goal.DaysCompleted));
        }
Пример #2
0
        public void CompletedGoalsCount_IsZero_AfterAddingIncompleteGoals()
        {
            Week       week = new Week(sampleDate);
            WeeklyGoal goal = new WeeklyGoal("", 1);

            week.Goals.Add(goal);

            Assert.That(week.CompletedGoalsCount, Is.Zero);
        }
Пример #3
0
        public void DeleteGoalData_WeeklyGoal_DoNotDeleteFromCurrentWeek_WhenStartDateIsMidweek()
        {
            GoalTrackerService gts  = GetEmptyGTS();
            WeeklyGoal         goal = gts.CreateWeeklyGoal("goal", 1);
            Week week = gts.CreateWeek(FirstDayOfWeek(date));

            gts.DeleteGoalData(goal, date);   // Sept 17 2020 is a Thursday

            Assert.That(week.GoalsCount, Is.GreaterThan(0));
        }
Пример #4
0
        public void CompletedGoalsCount_IsCorrect_AfterUpdatingGoal()
        {
            Week       week = new Week(sampleDate);
            WeeklyGoal goal = new WeeklyGoal("", 1);

            week.Goals.Add(goal);
            goal.DaysCompleted[0] = true;

            Assert.That(week.CompletedGoalsCount, Is.EqualTo(1));
        }
Пример #5
0
        public void Count_Equals_Total_CompletedDays([Range(0, 7)] int daysCompleted)
        {
            WeeklyGoal goal = GetWeeklyGoal();

            for (int i = 0; i < daysCompleted; i++)
            {
                goal.DaysCompleted[i] = true;
            }

            Assert.That(goal.Count, Is.EqualTo(daysCompleted));
        }
        public WeeklyGoalViewModel(WeeklyGoal goal)
        {
            this.goal = goal;

            WeekDays = new List <WeeklyGoalDayViewModel>();
            for (int i = 0; i < goal.DaysCompleted.Count; i++)
            {
                WeekDays.Add(new WeeklyGoalDayViewModel(goal, i));
            }

            PropertyChangedEventManager.AddHandler(goal, CountChanged, nameof(WeeklyGoal.Count));
        }
Пример #7
0
        public void CompletedGoalsCount_IsZero_AfterRemovingGoal()
        {
            Week       week = new Week(sampleDate);
            WeeklyGoal goal = new WeeklyGoal("", 1);

            goal.DaysCompleted[0] = true;

            week.Goals.Add(goal);
            week.Goals.Remove(goal);

            Assert.That(week.CompletedGoalsCount, Is.Zero);
        }
Пример #8
0
        /// <summary>
        /// add new user to database after register
        /// </summary>
        /// <param name="user"></param>
        public void addNewUser(User user, WeeklyGoal goal)
        {
            CalcWeeklyGoal(goal);
            BMI bMI = new BMI()
            {
                User   = user,
                Height = (float)user.Height,
                Weight = (float)user.Weight,
                Date   = DateTime.Now,
            };

            MyDal.addNewUser(user, goal, bMI);
        }
Пример #9
0
        public void DeleteGoalData_WeeklyGoal_RemoveGoalFromRemovedGoals_WhenDeletedFromAllWeeks()
        {
            DateTime           startDate = FirstDayOfWeek(date);
            GoalTrackerService gts       = GetEmptyGTS();
            WeeklyGoal         goal      = gts.CreateWeeklyGoal("goal", 1);

            gts.CreateWeeklyGoal("goal2", 1);
            gts.CreateWeek(startDate);
            gts.DeleteGoal(goal);

            gts.DeleteGoalData(goal, startDate);

            Assert.That(gts.HasRemovedGoal(goal.Name, Goal.GoalType.Weekly), Is.False);
        }
Пример #10
0
        public void DeleteGoalData_WeeklyGoal_RemoveWeeksWithNoRemainingGoalData()
        {
            DateTime           startDate = FirstDayOfWeek(date);
            GoalTrackerService gts       = GetEmptyGTS();
            WeeklyGoal         goal      = gts.CreateWeeklyGoal("goal", 1);

            gts.CreateWeek(startDate);
            EventRaisedTester weeksChangedRaised = new EventRaisedTester(handler => gts.WeeksChanged += handler);

            gts.DeleteGoalData(goal, startDate);

            Assert.That(gts.GetWeekForDate(startDate), Is.Null);
            Assert.That(weeksChangedRaised.TimesRaised, Is.EqualTo(1));
        }
Пример #11
0
        public void CreateWeek_WeekHasAllCurrentWeeklyGoals()
        {
            GoalTrackerService gts         = GetEmptyGTS();
            WeeklyGoal         goal1       = gts.CreateWeeklyGoal("goal", 1);
            WeeklyGoal         goal2       = gts.CreateWeeklyGoal("goal2", 2);
            WeeklyGoal         removedGoal = gts.CreateWeeklyGoal("goal3", 3);

            gts.DeleteGoal(removedGoal);

            Week week = gts.CreateWeek(FirstDayOfWeek(date));

            Assert.That(week.Goals.Contains(goal1));
            Assert.That(week.Goals.Contains(goal2));
            Assert.That(!week.Goals.Contains(removedGoal));
        }
        private void AddGoal()
        {
            Console.WriteLine("AddGoal");
            if (gtService.HasRemovedGoal(Name, IsWeekly ? GoalType.Weekly : GoalType.Daily))
            {
                MessageBoxResult result = ConfirmMerge();
                if (result == MessageBoxResult.Cancel)
                {
                    return;
                }
            }

            if (IsWeekly)
            {
                WeeklyGoal goal = gtService.CreateWeeklyGoal(Name, WeeklyTarget);
                if (goal == null)
                {
                    AlertDuplicateGoalName();
                    return;
                }

                if (AddData)
                {
                    gtService.AddGoalToWeeks(goal, AddDataStartDate);
                }
            }
            else
            {
                DailyGoal goal = gtService.CreateDailyGoal(Name);
                Console.WriteLine("goal = " + goal + ", AddData = " + AddData);
                if (goal == null)
                {
                    AlertDuplicateGoalName();
                    return;
                }

                if (AddData)
                {
                    Console.WriteLine("Adding data");
                    gtService.AddGoalToDays(goal, AddDataStartDate);
                }
            }

            RequestClose?.Invoke();
        }
Пример #13
0
        public void Week_Deserialized_Equals_Serialized()
        {
            DataContractSerializer serializer = new DataContractSerializer(typeof(Week));
            Week       week = new Week(sampleDate);
            WeeklyGoal goal = new WeeklyGoal("", 1);

            goal.DaysCompleted[1] = true;

            using (FileStream file = File.Create(testPath))
            {
                serializer.WriteObject(file, week);
            }

            Week deserialized;

            using (FileStream file = File.OpenRead(testPath))
            {
                deserialized = (Week)serializer.ReadObject(file);
            }

            Assert.That(week.Date, Is.EqualTo(deserialized.Date));
            Assert.That(week.Goals, Is.EqualTo(deserialized.Goals));
        }
 public WeeklyGoalDayViewModel(WeeklyGoal goal, int dayOfWeek)
 {
     this.goal = goal;
     DayOfWeek = dayOfWeek;
 }
Пример #15
0
 /// <summary>
 /// save new weekly goal in database
 /// </summary>
 /// <param name="myWeeklyGoal"></param>
 public void SaveWeeklyGoal(WeeklyGoal myWeeklyGoal)
 {
     CalcWeeklyGoal(myWeeklyGoal);
     MyDal.SaveWeeklyGoal(myWeeklyGoal);
 }
Пример #16
0
 private void CalcWeeklyGoal(WeeklyGoal goal)
 {
     goal.Carbs    = (float)System.Math.Round((0.55 * goal.WantedCalories) / 4, 2);
     goal.Fats     = (float)System.Math.Round((0.25 * goal.WantedCalories) / 9, 2);
     goal.Proteins = (float)System.Math.Round((0.2 * goal.WantedCalories) / 4, 2);
 }