コード例 #1
0
ファイル: ShiftsServiceTests.cs プロジェクト: aviezzi/arale
        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 HomeController()
        {
            var engine          = new Engine(2, 10, 10);
            var shiftStorage    = new StorageBase <int[, ]>("WheelsoffortuneShifts.json");
            var engineerStorage = new StorageBase <IList <Engineer> >("WheelsoffortuneEngineers.json");

            _service = new ShiftsService(engine, shiftStorage, engineerStorage);
        }
コード例 #3
0
ファイル: ShiftsServiceTests.cs プロジェクト: aviezzi/arale
        public void Should_return_shifts_calendar_without_patron_days_check()
        {
            var sut = new ShiftsService(() => _calendarService.Build());

            var actual = sut
                         .Build(_heroMates)
                         .ToList();

            CheckCompleteCalendar(actual);
        }
コード例 #4
0
ファイル: ShiftsServiceTests.cs プロジェクト: aviezzi/arale
        public void Infinity()
        {
            var sut = new ShiftsService(() => _calendarService.Build());

            var actual = sut
                         .AddPatronDay(new PatronDay(new LocalDate(2019, 12, 6), "US"))
                         .AddPatronDay(new PatronDay(new LocalDate(2019, 12, 6), "LA"))
                         .AddPatronDay(new PatronDay(new LocalDate(2019, 12, 6), "AZ"))
                         .Build(_heroMates)
                         .ToList();
        }
コード例 #5
0
ファイル: ShiftsServiceTests.cs プロジェクト: aviezzi/arale
        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);
        }
コード例 #6
0
ファイル: ShiftsServiceTests.cs プロジェクト: aviezzi/arale
        public void Should_use_old_calendar()
        {
            var sut = new ShiftsService(() => _calendarService.Build());

            var calendarOld = new List <Shift>
            {
                new Shift(new TeamMate("1", "IronMan", "US"), new LocalDate(2019, 11, 1)),
                new Shift(new TeamMate("3", "Thor", "AZ"), new LocalDate(2019, 11, 2)),
                new Shift(new TeamMate("2", "Hulk", "LA"), new LocalDate(2019, 11, 3)),
                new Shift(new TeamMate("4", "AntMan", "US"), new LocalDate(2019, 11, 4)),
                new Shift(new TeamMate("1", "IronMan", "US"), new LocalDate(2019, 11, 5)),
                new Shift(new TeamMate("3", "Thor", "AZ"), new LocalDate(2019, 11, 6)),
                new Shift(new TeamMate("2", "Hulk", "LA"), new LocalDate(2019, 11, 7)),
                new Shift(new TeamMate("4", "AntMan", "US"), new LocalDate(2019, 11, 8)),
                new Shift(new TeamMate("1", "IronMan", "US"), new LocalDate(2019, 11, 9)),
                new Shift(new TeamMate("3", "Thor", "AZ"), new LocalDate(2019, 11, 10))
            };

            var actual = sut
                         .Build(calendarOld)
                         .ToList();

            var expected = new List <Shift>
            {
                new Shift(new TeamMate("2", "Hulk", "LA"), new LocalDate(2019, 12, 1)),
                new Shift(new TeamMate("4", "AntMan", "US"), new LocalDate(2019, 12, 2)),
                new Shift(new TeamMate("1", "IronMan", "US"), new LocalDate(2019, 12, 3)),
                new Shift(new TeamMate("3", "Thor", "AZ"), new LocalDate(2019, 12, 4)),
                new Shift(new TeamMate("2", "Hulk", "LA"), new LocalDate(2019, 12, 5)),
                new Shift(new TeamMate("4", "AntMan", "US"), new LocalDate(2019, 12, 6)),
                new Shift(new TeamMate("1", "IronMan", "US"), new LocalDate(2019, 12, 7)),
                new Shift(new TeamMate("3", "Thor", "AZ"), new LocalDate(2019, 12, 8)),
                new Shift(new TeamMate("2", "Hulk", "LA"), new LocalDate(2019, 12, 9))
            };

            for (var i = 0; i < actual.Count; i++)
            {
                var e = expected.Skip(i).First();
                var a = actual.Skip(i).First();

                Assert.AreEqual(e.Schedule, a.Schedule);
                Assert.AreEqual(e.TeamMate.Id, a.TeamMate.Id);
            }
        }
コード例 #7
0
 public ShiftsController(ShiftsService shiftsService)
 {
     _shiftsService = shiftsService;
 }