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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 7
0
 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);
 }
Ejemplo n.º 8
0
        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");
            }
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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();
        }
Ejemplo n.º 14
0
        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());
        }
Ejemplo n.º 15
0
        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()
                })
            });
        }