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)); }