private static async Task TestMarket(string marketId, bool isTradingEnabled, string lastTradingDay,
                                             string nextTradingDay, List <IScheduleSettings> repoData)
        {
            var repoMock = new Mock <IScheduleSettingsRepository>();

            repoMock.Setup(r => r.GetFilteredAsync(null)).ReturnsAsync(repoData);

            var systemClockMock = new Mock <ISystemClock>();

            systemClockMock.SetupGet(c => c.UtcNow).Returns(new DateTimeOffset(2019, 10, 11, 11, 0, 0, TimeSpan.Zero));

            var service = new MarketDayOffService(repoMock.Object, systemClockMock.Object, new PlatformSettings());

            var info = (await service.GetMarketsInfo(new[] { marketId }, null))[marketId];

            Assert.Equal(isTradingEnabled, info.IsTradingEnabled);
            Assert.Equal(DateTime.Parse(lastTradingDay), info.LastTradingDay);
            Assert.Equal(DateTime.Parse(nextTradingDay), info.NextTradingDayStart.Date);
        }
        private static async Task TestMarket(string marketId, bool isTradingEnabled, string lastTradingDay,
                                             string nextTradingDay, List <IScheduleSettings> repoData)
        {
            var brokerId            = Guid.NewGuid().ToString();
            var scheduleServiceMock = new Mock <IScheduleSettingsService>();

            scheduleServiceMock.Setup(r => r.GetFilteredAsync(null)).ReturnsAsync(repoData);

            var systemClockMock = new Mock <ISystemClock>();

            systemClockMock.SetupGet(c => c.UtcNow).Returns(new DateTimeOffset(2019, 10, 11, 11, 0, 0, TimeSpan.Zero));

            var brokerSettingsMock = new Mock <IBrokerSettingsApi>();

            brokerSettingsMock
            .Setup(s => s.GetByIdAsync(It.Is <string>(f => f == brokerId)))
            .ReturnsAsync(
                new GetBrokerSettingsByIdResponse
            {
                ErrorCode      = BrokerSettingsErrorCodesContract.None,
                BrokerSettings = new BrokerSettingsContract
                {
                    Holidays = new List <DateTime>(),
                    Weekends = new List <DayOfWeek> {
                        DayOfWeek.Saturday, DayOfWeek.Sunday
                    }
                }
            });

            var service = new MarketDayOffService(scheduleServiceMock.Object, systemClockMock.Object, new PlatformSettings(), brokerId, brokerSettingsMock.Object);

            var info = (await service.GetMarketsInfo(new[] { marketId }, null))[marketId];

            brokerSettingsMock.Verify();
            Assert.Equal(isTradingEnabled, info.IsTradingEnabled);
            Assert.Equal(DateTime.Parse(lastTradingDay), info.LastTradingDay);
            Assert.Equal(DateTime.Parse(nextTradingDay), info.NextTradingDayStart.Date);
        }