public void Should_return_shifts_calendar_with_two_patron_day_check_and_direct_switch() { var patronDay1 = new PatronDay(new LocalDate(2019, 12, 5), "US"); var patronDay2 = new PatronDay(new LocalDate(2019, 12, 6), "LA"); var sut = new ShiftsService(() => _calendarService.Build()); var actual = sut .AddPatronDay(patronDay1) .AddPatronDay(patronDay2) .Build(_heroMates) .ToList(); const string expectedCandidateHero = "2"; const string expectedCandidateCountryCode = "LA"; var expectedCandidateDay = patronDay1.Day; Assert.AreEqual(expectedCandidateHero, actual.First(a => a.Schedule == expectedCandidateDay).TeamMate.Id); Assert.AreEqual(expectedCandidateCountryCode, actual.First(a => a.Schedule == expectedCandidateDay).TeamMate.CountryCode); const string expectedHero = "1"; var expectedCountryCode = patronDay1.CountryCode; var expectedDay = patronDay1.Day.PlusDays(1); Assert.AreEqual(expectedHero, actual.First(a => a.Schedule == expectedDay).TeamMate.Id); Assert.AreEqual(expectedCountryCode, actual.First(a => a.Schedule == expectedDay).TeamMate.CountryCode); }
public void Should_return_shifts_calendar_with_one_patron_day_but_non_in_current_mount() { var patronDay = new PatronDay(new LocalDate(2019, 10, 25), "LA"); var sut = new ShiftsService(() => _calendarService.Build()); var actual = sut .AddPatronDay(patronDay) .Build(_heroMates) .ToList(); CheckCompleteCalendar(actual); }
public IShiftsService AddPatronDay(PatronDay patronDay) { _patronDays.Add(patronDay); return(this); }