public void CheckingOffPillOffAt_8H_UpdateCalledTest() { ITaskReminderIO <Pill, PillSchedule> taskReminderIOMock = Substitute.For <ITaskReminderIO <Pill, PillSchedule> >(); taskReminderIOMock.GetAllTask().Returns(testPills); taskReminderIOMock.GetAllTaskSchedule().Returns(testPillSchedules); Time mockedTime = new Time(8, 0, 0); timeProvider = Substitute.For <ITimeProvider>(); timeProvider.CurrentTime.Returns(mockedTime); timeProvider.CurrrentDateTime.Returns(mockedTime.ToDateTime()); timerMock = Substitute.For <ITimer>(); Tuple <Pill, Time> pillToCheckOff = new Tuple <Pill, Time>(new Pill("Bar", 4, testPills[1].ID), new Time(8, 0, 0)); PillSchedule exceptedRecivedPillSchedule = new PillSchedule(testPillSchedules[1].ID, testPills[1], new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(8, 0, 0), true), new Tuple <Time, bool>(new Time(18, 0, 0), false), }); PillReminderManager reminderManager = new PillReminderManager(new Time(0, 5, 0), taskReminderIOMock, timeProvider, timerMock); timerMock.Elapsed += Raise.Event <ElapsedEventHandler>(this, createElapsedEventArgs(mockedTime.ToDateTime())); reminderManager.CheckingOffFinishedTask(pillToCheckOff); taskReminderIOMock.Received().UpdateTaskScheduleData(Arg.Is <PillSchedule>(p => p.Pill.Equals(pillToCheckOff.Item1))); }
public void UpdatePillSchedule() { PillSchedule updatedPillSchedule = new PillSchedule(testPillSchedules[0].ID, testPills[0], new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(9, 0, 0), false), new Tuple <Time, bool>(new Time(13, 0, 0), false), new Tuple <Time, bool>(new Time(20, 0, 0), false), } ); PillSchedule retrivedPillSchedule; PillScheduleStorageObject retrivedPillScheduleInStorageObj; JsonSerializer serializer = new JsonSerializer(); using (StreamWriter sw = new StreamWriter($@"{pillScheduleDataFolderPath}\{testPillSchedules[0].ID.ToString()}_Schedule.dat")) using (JsonWriter writer = new JsonTextWriter(sw)) { serializer.Serialize(writer, new PillScheduleStorageObject(testPillSchedules[0])); } pillReminderIO.UpdateTaskScheduleData(updatedPillSchedule); using (StreamReader sr = new StreamReader($@"{pillScheduleDataFolderPath}\{testPillSchedules[0].ID.ToString()}_Schedule.dat")) using (JsonReader reader = new JsonTextReader(sr)) { retrivedPillScheduleInStorageObj = serializer.Deserialize <PillScheduleStorageObject>(reader); } retrivedPillSchedule = retrivedPillScheduleInStorageObj.PillScheduleStorageObjectToPillSchedule(); Assert.That(updatedPillSchedule.Equals(retrivedPillSchedule)); }
public void GenerateTestPillSchedules() { threeTimesPerDaySchedule = new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(6, 0, 0), false), new Tuple <Time, bool>(new Time(12, 0, 0), false), new Tuple <Time, bool>(new Time(18, 0, 0), false), }; testPill = new Pill("Foo", 3, new Guid("45802942-4d99-410f-8fde-767146e9f1ca")); testPillSchedule = new PillSchedule(new Guid("ab433a69-3fd9-4ad5-bf28-abd5ac698f9d"), testPill, threeTimesPerDaySchedule); }
public void GenerateTestPillSchedules() { threeTimesPerDaySchedule = new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(6, 0, 0), false), new Tuple <Time, bool>(new Time(12, 0, 0), false), new Tuple <Time, bool>(new Time(18, 0, 0), false), }; pillSchedule = new PillSchedule(testPill, threeTimesPerDaySchedule); testPill = new Pill("Foo", 3); }
public void PillScheduleDifferentScheduleNotEqualTest() { List <Tuple <Time, bool> > differentSchedule = new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(9, 0, 0), false), new Tuple <Time, bool>(new Time(15, 0, 0), false), new Tuple <Time, bool>(new Time(21, 0, 0), false), }; PillSchedule pillScheduleWithDifferentSchedule = new PillSchedule(testPill, differentSchedule); Assert.IsFalse(testPillSchedule.Equals(pillScheduleWithDifferentSchedule)); }
public PillSchedule PillScheduleStorageObjectToPillSchedule() { List <Tuple <Time, bool> > takenRecord = new List <Tuple <Time, bool> >(); for (int i = 0; i < TakenTimes.Count; i++) { takenRecord.Add(new Tuple <Time, bool>(new Time(TakenTimes[i]), HasTaken[i])); } PillSchedule pillSchedule = new PillSchedule(ID, Pill, takenRecord); return(pillSchedule); }
public void PillScheduleEqualTest() { PillSchedule secondSchedule = new PillSchedule(new Guid("ab433a69-3fd9-4ad5-bf28-abd5ac698f9d"), new Pill("Foo", 3, new Guid("45802942-4d99-410f-8fde-767146e9f1ca")), new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(6, 0, 0), false), new Tuple <Time, bool>(new Time(12, 0, 0), false), new Tuple <Time, bool>(new Time(18, 0, 0), false), }); Assert.That(secondSchedule.Equals(testPillSchedule)); }
public void PillScheduleDifferentScheduleTimeCountNotEqalTest() { List <Tuple <Time, bool> > differentSchedule = new List <Tuple <Time, bool> >() { new Tuple <Time, bool>(new Time(6, 0, 0), false), new Tuple <Time, bool>(new Time(12, 0, 0), false), new Tuple <Time, bool>(new Time(18, 0, 0), false), new Tuple <Time, bool>(new Time(23, 0, 0), false), }; PillSchedule pillScheduleWithDifferentTimeCouunt = new PillSchedule(new Pill("Foo", 3), differentSchedule); Assert.IsFalse(testPillSchedule.Equals(pillScheduleWithDifferentTimeCouunt)); }
public PillScheduleStorageObject(PillSchedule pillSchedule) { ID = pillSchedule.ID; Pill = pillSchedule.Pill; TakenTimes = new List <DateTime>(); HasTaken = new List <bool>(); foreach (var item in pillSchedule.TakenRecordForTheDay) { TakenTimes.Add(item.Item1.ToDateTime()); HasTaken.Add(item.Item2); } }
public void PillScheduleDifferentPillNotEqualTest() { PillSchedule pillScheduleWithDifferentPill = new PillSchedule(new Pill("Bar", 2), threeTimesPerDaySchedule); Assert.IsFalse(testPillSchedule.Equals(pillScheduleWithDifferentPill)); }