示例#1
0
        public bool TestExclusions(DateTime dateTime, string asset)
        {
            //arrange
            var dateService = new Mock <IDateService>();

            dateService.Setup(s => s.Now()).Returns(dateTime);
            var settings = new ScheduleSettings(
                dayOffStartDay: DayOfWeek.Friday,
                dayOffStartTime: new TimeSpan(21, 0, 0),
                dayOffEndDay: DayOfWeek.Sunday,
                dayOffEndTime: new TimeSpan(21, 0, 0),
                assetPairsWithoutDayOff: new[] { AssetWithoutDayOff, "BTCCHF" }.ToHashSet(),
                pendingOrdersCutOff: new TimeSpan(1, 0, 0));

            var dayOffSettingsService = new Mock <IDayOffSettingsService>();

            dayOffSettingsService.Setup(s => s.GetScheduleSettings()).Returns(settings);

            dayOffSettingsService.Setup(s => s.GetExclusions(AssetWithDayOff))
            .Returns(ImmutableArray.Create(
                         new DayOffExclusion(Guid.NewGuid(), "smth",
                                             new DateTime(2017, 6, 24, 01, 00, 00),
                                             new DateTime(2017, 6, 24, 04, 00, 00), true)));

            dayOffSettingsService.Setup(s => s.GetExclusions(AssetWithoutDayOff))
            .Returns(ImmutableArray.Create(
                         new DayOffExclusion(Guid.NewGuid(), "smth",
                                             new DateTime(2017, 6, 24, 03, 00, 00),
                                             new DateTime(2017, 6, 24, 04, 00, 00), false)));

            var dayOffService = new AssetPairDayOffService(dateService.Object, dayOffSettingsService.Object);

            //act
            return(dayOffService.ArePendingOrdersDisabled(asset));
        }
示例#2
0
        public bool TestDayOff(DateTime dateTime, string asset)
        {
            //arrange
            var dateService = new Mock <IDateService>();

            dateService.Setup(s => s.Now()).Returns(dateTime);
            var settings = new ScheduleSettings(
                dayOffStartDay: DayOfWeek.Friday,
                dayOffStartTime: new TimeSpan(21, 0, 0),
                dayOffEndDay: DayOfWeek.Sunday,
                dayOffEndTime: new TimeSpan(21, 0, 0),
                assetPairsWithoutDayOff: new[] { AssetWithoutDayOff, "BTCCHF" }.ToHashSet(),
                pendingOrdersCutOff: TimeSpan.Zero);
            var dayOffSettingsService = new Mock <IDayOffSettingsService>();

            dayOffSettingsService.Setup(s => s.GetScheduleSettings()).Returns(settings);
            dayOffSettingsService.Setup(s => s.GetExclusions(It.IsNotNull <string>())).Returns(ImmutableArray <DayOffExclusion> .Empty);
            var dayOffService = new AssetPairDayOffService(dateService.Object, dayOffSettingsService.Object);

            //act
            return(dayOffService.IsDayOff(asset));
        }