public void LoadTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); int index = 10; p.currentDayIndex = index; p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); var rm = new ConsoleRoadmap(p); rm.ShowRoadmap(); var loader = new PlanningLoader(); var json = loader.GetJson(p); AbstractPlanning loadedPlanningMemory = loader.LoadFromJson(json, typeof(MockPlanning)); Assert.IsNotNull(loadedPlanningMemory); Assert.IsNotNull(loadedPlanningMemory.GetDays()); string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Loaded planning test.json"; loader.Save(path, loadedPlanningMemory); AbstractPlanning loadedPlanningWithFile = loader.Load(path, typeof(MockPlanning)); Assert.IsNotNull(loadedPlanningWithFile); Assert.IsNotNull(loadedPlanningMemory.GetDays()); File.Delete(path); Assert.AreEqual(index, p.currentDayIndex); }
public void SkipDaysUntilTaskTest() { var p = new MockPlanning(); var firstDay = new Day(); var dayToDecal = new Day(new List <AbstractTask> { new MockTask(), new MockTask() }); var dayWithTasks = new Day(new List <AbstractTask> { new MockTask(), new MockTask() }); p.SetContent(new List <IWeek> { new IWeek ( new List <AbstractDay> { firstDay, new Day(), new Day(), new Day(), new Day(), new Day(), dayToDecal // 6 } ), new IWeek ( new List <AbstractDay> { new Day(), //7 new Day(), //8 new Day(), //9 new Day(), //10 new Day(), //11 new Day(), //12 dayWithTasks //13 } ) }); Assert.AreEqual(0, p.currentDayIndex); p.SkipDaysUntilTask(firstDay); // should set the current day by jumping all the empty days Assert.AreEqual(6, p.currentDayIndex); p.SkipDaysUntilTask(dayToDecal); Assert.AreEqual(13, p.currentDayIndex); }
public void GetWeekNumberTest() { var p = new MockPlanning(); var dayToDecal = new Day(); p.SetContent(new List <IWeek> { new IWeek ( new List <AbstractDay> { new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), dayToDecal } ), new IWeek ( new List <AbstractDay> { new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), new Day() } ) }); Assert.AreEqual(1, p.GetWeekNumber(dayToDecal)); p.DecalDay(dayToDecal); // We arrive at monday the next week Assert.AreEqual(2, p.GetWeekNumber(dayToDecal)); for (int i = 0; i < 6; i++) { p.DecalDay(dayToDecal); } ; // We arrive at sunday the same week Assert.AreEqual(2, p.GetWeekNumber(dayToDecal)); // We decal one day, we arrive at the monday next week p.DecalDay(dayToDecal); Assert.AreEqual(3, p.GetWeekNumber(dayToDecal)); }
public void GetNextPlannedTaskTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); var lastTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { lastTask }), }) }); var curDay = p.GetCurrentDay(); var resultFirstTask = p.GetNextPlannedTask(); Assert.AreEqual(firstTask, resultFirstTask); firstTask.IsFinished = true; var resultSecondTask = p.GetNextPlannedTask(); Assert.AreEqual(secondTask, resultSecondTask); // Verify that the current task has no difference with the current day Assert.AreEqual(curDay, p.GetCurrentDay()); Assert.AreEqual(secondTask, p.GetNextPlannedTask()); p.currentDayIndex = 10; Assert.AreEqual(lastTask, p.GetNextPlannedTask()); }
public void VerifyCurrentDayTest() { var curDay = new Day(); var daySecondWeek = new Day(); var p = new MockPlanning(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { new MockTask() }), new Day(), new Day(), curDay, new Day(), new Day(), new Day() }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { new MockTask() }), new Day(), new Day(), new Day(), new Day(), daySecondWeek, new Day(new List <AbstractTask> { new MockTask() }), }) }); if (p.GetCurrentDay() == null) { Assert.Fail("The first day should be set automatically when setting the content"); } p.currentDayIndex = 3; Assert.AreEqual(p.GetCurrentDay(), curDay); p.currentDayIndex = 12; Assert.AreEqual(p.GetCurrentDay(), daySecondWeek); }
public void SaveTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); var rm = new ConsoleRoadmap(p); rm.ShowRoadmap(); string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Test save.json"; new PlanningLoader().Save(path, p); //File.Delete(path); }
public void SPEED_OF_LIGHT_TEST() { new Thread(() => { // your code var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask, new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask, new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); p.SetPreMenu(new MotivatorEngine.PreTask.PreMenu(new List <MotivatorEngine.PreTask.PreMenuChoice> { new GiveupChoice() })); p.StartFirstTime(); }).Start(); Thread.Sleep(2000); }
public void GetTasksTest() { var p = new MockPlanning(); if (p.GetDays() != null) { Assert.Fail("The planning had the day list initialized but we didn't add them"); } p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day() }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); if (p.GetTasks().Count != 3) { Assert.Fail("There should be 14 days after we added 2 weeks"); } }
public void PrintGetRoadmapTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask, new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); p.currentDayIndex = 13; var r = new ConsoleRoadmap(p); var text = r.GetRoadmapText(); Assert.IsNotNull(text); Console.WriteLine(text); }
public void SkipDayTest() { var p = new MockPlanning(); var dayToSkip = new Day(new List <AbstractTask> { new MockTask() }); p.SetContent(new List <IWeek> { new IWeek ( new List <AbstractDay> { dayToSkip, new Day(), new Day(), new Day(), new Day(), new Day(), new Day() } ) }); var curDayBeforeSkip = 0; // The current day, which is also the day to skip, has a task Assert.IsNotNull(p.GetNextPlannedTask()); // At first its normal that the day isn't as pos 1, its pos 0 Assert.AreNotEqual(p.GetDays()[1], dayToSkip); p.SkipDay(dayToSkip); // We verify that we are still the same day Assert.AreEqual(0, curDayBeforeSkip); // But we skipped it, so we don't have any task to do, so null reference for the task Assert.IsNull(p.GetNextPlannedTask()); // Skip the planning until we reach the end to see if it will finish }
public void DecalWeekTest() { var p = new MockPlanning(); var dayToDecal = new Day(new List <AbstractTask> { new MockTask() }); p.SetContent(new List <IWeek> { new IWeek ( new List <AbstractDay> { dayToDecal, new Day(), new Day(), new Day(), new Day(), new Day(), new Day() } ) }); var curDayBeforeDecal = 0; // At first its normal that the day isn't as pos 1, its pos 0 Assert.AreNotEqual(p.GetDays()[1], dayToDecal); //Roadmap r = new Roadmap(p); //r.PrintRoadmap(); p.DecalWeek(dayToDecal); // But we decaled it //r.PrintRoadmap(); Assert.AreEqual(p.GetDays()[7], dayToDecal); // After we decaled the day, the current day index didn't change, we don't want to start the next day & work! Assert.IsTrue(curDayBeforeDecal == 0); // Verify that the week is unchanged // Check If the task is still available, it should be available because we didn't cancel the task, we posponed it Assert.IsTrue(p.GetNextPlannedTask() != null); Console.WriteLine("After decal\n" + p); }
public void DecalWeekSaveTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); var dayToDecal = new Day(new List <AbstractTask> { firstTask }); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { dayToDecal, new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask, new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); Console.WriteLine("Before decal\n" + p); p.Save(); p.DecalWeek(dayToDecal); p.Save(); Console.WriteLine("After decal\n" + p); }
public void PrintRoadmapTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); var rm = new ConsoleRoadmap(p); rm.ShowRoadmap(); p.currentDayIndex = 13; rm.ShowRoadmap(); }
public void GetWeekCountTest() { var p = new MockPlanning(); var firstTask = new MockTask(); var secondTask = new MockTask(); p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { firstTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(), }), new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { secondTask }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day(new List <AbstractTask> { new MockTask() }), }) }); Assert.AreEqual(2, p.GetWeekCount()); p.AddDay(new Day()); Assert.AreEqual(15, p.GetDays().Count); Assert.AreEqual(3, p.GetWeekCount()); }
public void GetDaysTest() { var p = new MockPlanning(); if (p.GetTasks() != null) { Assert.Fail("The planning had the day list initialized but we didn't add them"); } p.SetContent(new List <IWeek> { new IWeek(new List <AbstractDay> { new Day(new List <AbstractTask> { new MockTask() }), new Day(), new Day(), new Day(), new Day(), new Day(), new Day() }) }); }