private async Task handleWhenThereAreDuplicateDates(FitbitEntry fitbitEntry) { if (!this.mergeAll) { var duplicateEntryDialog = new DuplicateEntryFoundDialog("There are other entries on " + fitbitEntry.Date); await duplicateEntryDialog.OpenDialog(); switch (duplicateEntryDialog.Result) { case DuplicateEntryFoundDialog.MyResult.Skip: break; case DuplicateEntryFoundDialog.MyResult.Replace: this.entriesToReplace.Add(fitbitEntry); break; case DuplicateEntryFoundDialog.MyResult.SkipAll: this.skipAll = true; break; case DuplicateEntryFoundDialog.MyResult.Merge: this.addToFitbitCollection(fitbitEntry); break; case DuplicateEntryFoundDialog.MyResult.MergeAll: this.addToFitbitCollection(fitbitEntry); this.mergeAll = true; break; } } }
private void addToFitbitCollection(FitbitEntry fitbitEntry) { if (!this.duplicatedDatesNotToAdd.Contains(fitbitEntry.Date)) { this.fitbitJournal.AddEntry(fitbitEntry); } }
private void handleWhenReplacing(FitbitEntry fitbitEntry) { if (this.entriesToReplace.Contains(fitbitEntry)) { this.fitbitJournal.ReplaceMatchingDateEntries(fitbitEntry); } }
private void addEntry_OnClick(object sender, RoutedEventArgs e) { try { var entryDate = this.date.Date.Date; var entrySteps = int.Parse(this.steps.Text); var entryDistance = double.Parse(this.distance.Text); var entryCaloriesBurned = int.Parse(this.caloriesBurned.Text); var entryFloors = int.Parse(this.floors.Text); var entryActivityCalories = int.Parse(this.activityCalories.Text); var entryActiveMinutes = MinuteConverter.ConvertMinutesToTimeSpan(int.Parse(this.activeMinutes.Text)); var fitbitEntry = new FitbitEntry(entryDate, entrySteps, entryDistance, entryCaloriesBurned, entryFloors, entryActivityCalories, entryActiveMinutes); this.FitbitEntry = fitbitEntry; this.doneAddingEntry_OnClick(sender, e); } catch (FormatException) { this.handleWhenNoEntryCreated(sender, e); } catch (ArgumentException) { this.handleWhenNoEntryCreated(sender, e); } }
public void WhenOnlyOneInJournalAndMatches() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 500, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); Assert.AreEqual(1, testJournal.CountDaysWithStepsOver(200)); }
public void WhenAdd1CountShouldBe1() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 500, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); Assert.AreEqual(1, testJournal.Count); }
public void WhenOnlyOneInJournalAndMatches() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 500, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); Assert.AreEqual(1, testJournal.CountPerMonthAndYear(DateTime.Today.Month, DateTime.Today.Year)); }
public void WhenEntryInJournalMatches() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate = new DateTime(2017, 11, 2); var testEntry1 = new FitbitEntry(testDate, 1234, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); Assert.AreEqual(testDate, testJournal.FindDateBasedOnSteps(1234)); }
public void WhenContainsDate() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate = new DateTime(2017, 11, 2); var testEntry1 = new FitbitEntry(testDate, 500, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); Assert.AreEqual(true, testJournal.ContainsDate(testDate)); }
public void WhenEntryInJournalMatches() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate = new DateTime(2017, 11, 2); var testEntry1 = new FitbitEntry(testDate, 500, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); Assert.AreEqual(500, testJournal.GetEntryByDate(testDate).Steps); }
private async Task manageFitbitEntry(FitbitEntry fitbitEntry) { if (this.mergeAll) { this.fitbitJournal.AddEntry(fitbitEntry); } else if (!this.skipAll) { await this.handleWhenFitbitContainsDate(fitbitEntry); } }
public void WhenReplaceActivityCaloriesOfFirst() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate = new DateTime(2017, 11, 2); var testEntry1 = new FitbitEntry(testDate, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate, 500, 75.0, 310, 1, 72, new TimeSpan()); testJournal.AddEntry(testEntry1); testJournal.ReplaceMatchingDateEntries(testEntry2); Assert.AreEqual(72, testJournal.GetEntryByDate(testDate).ActivityCalories); }
public void When1EntryInMultipleMatchesHasProperDate() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate1 = new DateTime(2017, 11, 2); var testDate2 = new DateTime(2016, 10, 20); var testEntry1 = new FitbitEntry(testDate1, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate2, 2000, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); testJournal.AddEntry(testEntry2); Assert.AreEqual(testDate2, testJournal.GetEntryByDate(testDate2).Date); }
public void WhenMultiplesInJournalAndNoneMatch() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 1000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(DateTime.Today, 2000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(DateTime.Today, 3000, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); Assert.AreEqual(0, testJournal.CountDaysWithStepsOver(5000)); }
private static string getFitbitEntryOutput(string fitbitFileOutput, FitbitEntry entry) { var currentDate = entry.Date.ToString("d", CultureInfo.CurrentCulture); fitbitFileOutput += currentDate + ","; fitbitFileOutput += entry.CaloriesBurned + ","; fitbitFileOutput += entry.Steps + ","; fitbitFileOutput += entry.Distance + ","; fitbitFileOutput += entry.Floors + ","; fitbitFileOutput += entry.ActivityCalories + ","; fitbitFileOutput += entry.ActiveMinutes + Environment.NewLine; return(fitbitFileOutput); }
private async Task handleWhenFitbitContainsDate(FitbitEntry fitbitEntry) { if (this.fitbitJournal.ContainsDate(fitbitEntry.Date)) { await this.handleWhenThereAreDuplicateDates(fitbitEntry); this.handleWhenReplacing(fitbitEntry); } else { this.fitbitJournal.AddEntry(fitbitEntry); } }
public void WhenAdd4CountIs4() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(DateTime.Today, 1000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(DateTime.Today, 1200, 2.0, 310, 1, 155, new TimeSpan()); var testEntry4 = new FitbitEntry(DateTime.Today, 800, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); testJournal.AddEntry(testEntry4); Assert.AreEqual(4, testJournal.Count); }
public void WhenMultipleInJournalAndMultipleMatch() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testEntry = new FitbitEntry(DateTime.Today, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(DateTime.Today, 1000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(DateTime.Today, 1200, 2.0, 310, 1, 155, new TimeSpan()); var testEntry4 = new FitbitEntry(DateTime.Today, 800, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); testJournal.AddEntry(testEntry4); Assert.AreEqual(2, testJournal.CountDaysWithStepsBetween(2, 900)); }
public void WhenContainsDateFromMultipleInJounral() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate1 = new DateTime(2017, 11, 2); var testDate2 = new DateTime(2016, 10, 20); var testDate3 = new DateTime(2016, 9, 4); var testEntry1 = new FitbitEntry(testDate1, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate2, 2000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(testDate3, 900, 0.5, 400, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); Assert.AreEqual(true, testJournal.ContainsDate(testDate2)); }
public void When1EntryInMultipleMatches() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate1 = new DateTime(2017, 11, 2); var testDate2 = new DateTime(2016, 10, 20); var testDate3 = new DateTime(2014, 6, 14); var testEntry1 = new FitbitEntry(testDate1, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate2, 2000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(testDate3, 7300, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); Assert.AreEqual(testDate2, testJournal.FindDateBasedOnSteps(2000)); }
public void WhenMultipleDifferentYearAndMonthInJournalAndOneMatch() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate1 = new DateTime(2015, 9, 2); var testDate2 = new DateTime(2016, 10, 5); var testDate3 = new DateTime(2017, 11, 3); var testEntry = new FitbitEntry(testDate1, 1000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate2, 2000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(testDate3, 3000, 2.0, 310, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); Assert.AreEqual(1, testJournal.CountPerMonthAndYear(10, 2016)); }
public void WhenAllEntriesMatchFromMultipleInJournal() { var testJournal = new FitbitAnalysis_Phillip_Morris.Model.FitbitJournal(); var testDate1 = new DateTime(2016, 11, 2); var testDate2 = new DateTime(2016, 10, 20); var testDate3 = new DateTime(2016, 9, 4); var testEntry1 = new FitbitEntry(testDate1, 500, 2.0, 310, 1, 155, new TimeSpan()); var testEntry2 = new FitbitEntry(testDate2, 2000, 2.0, 310, 1, 155, new TimeSpan()); var testEntry3 = new FitbitEntry(testDate3, 900, 0.5, 400, 1, 155, new TimeSpan()); testJournal.AddEntry(testEntry1); testJournal.AddEntry(testEntry2); testJournal.AddEntry(testEntry3); var resultJournal = testJournal.GetEntriesByYear(2016); Assert.AreEqual(3, resultJournal.Count); }