Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public IShiftsService AddPatronDay(PatronDay patronDay)
 {
     _patronDays.Add(patronDay);
     return(this);
 }